Texto en mayúscula en una sola columna

De nuevo solicito ayuda para algo que seguramente es una pavada, pero no logro sacarlo. Estoy trabajando en una planilla y necesito que solo lo ingresado en la columna B lo haga en mayúscula. El texto es una sola letra "X" y solo en esa columna necesito que esté en mayúscula, pero no logro encontrar la forma. Si alguien pudiera ayudarme.

2 respuestas

Respuesta
1

Entra al Editor de macros (atajo: ALT + F11)

Selecciona con doble clic el objeto HOJA donde vayas a trabajar. Y allí copia el siguiente código.

Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
'solo en col B
If Target.Column = 2 Then Target = UCase(Target)
End Sub

Si necesitas acotar el rango de filas podría ser algo así:

Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
'solo en col B y filas 2 a 10
If Target.Column = 2 Then
    If Not Intersect(Target, Rows("2:10")) Is Nothing Then
        Target = UCase(Target)
    End If
End If
End Sub

Hola Elsa, ¿cómo estás tanto tiempo?

Puse el código, pero primero me saltó como error dónde dice "Target = UCase(Target)" y se me colgó el programa.

Entonces lo cerré y lo volví a abrir y no funciona.

Muchas gracias por tu respuesta.

En esa línea tan simple de ninguna manera puede fallar... salvo que tu libro tenga algunas particularidades que desconozco.

1- Que tu col B tenga celdas combinadas.

2- Que colocaste las 2 macros en la misma hoja.

Y así podría seguir imaginando... mejor dejame una imagen de tu hoja y del Editor. O enviame copia del libro con solo un par de filas de información. Mis correos en sitio al pie,

Hola Elsa, ya te envié el archivo al mail, muchas gracias

Viendo tu libro donde todo está formulado, te propongo hacer solo un ajuste de fórmulas y evitar así la macro.

En Hoja1, B2 ajusta la fórmula de este modo:

=VALOR(SUSTITUIR(MAYUSC(FEv!B22);"X";"1"))

De este modo siempre estará comparando con X en mayúsc, no importa cómo la introduzcan. Por supuesto que esto tendrás que agregar en todas las celdas que tengan esta comparación.

Y retira la macro y el libro puede volver a ser de extensión xlsx.

De todos modos si deseas mantenerla te la dejo con un agregado para evitar que se borren 2 o más celdas juntas, provocando un error.

Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
'solo en col B y modificando 1 sola celda
If Target.Count > 1 Then Exit Sub
If Target.Column = 2 And Target <> "" Then Target = UCase(Target)
End Sub
Respuesta

Selecciona la columna B y en la pestaña Buscar y Seleccionar (la que lleva una lupa), selecciona Reemplazar. En la caja que sale pones x en buscar y X en reemplazar y listo.

Suerte.

Muchas gracias Gustavo, pero es una planilla que no la voy a completar yo, quisiera que automáticamente salga en mayúscula, porque la hoja va a estar bloqueada.

Comprendido. Se me ocurre con validación de datos [personalizada/formula =igual(b1;mayusc(b1))] que hace que cada vez que se escriba en minúscula salte un mensaje de error y fuerce a repetir lo escrito en mayúsculas, lo que no parece muy elegante, o bien a través de vba. Lamentablemente no puedo ayudarte ya que no poseo conocimientos de vba.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas