Excel Agregar línea a macro para mayúsculas en celdas

En tu macro, ¿qué quisiera?
Al escribir en una celda del rango G14:G144, este o no la tecla Bloq-Mayus desactivada/activada, que después de escribir + Enter (o cambiar de celda, (como sea)) en el evento Change de la hoja se transforma en MAYUSCULAS

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Target.Row < 14 Then Exit Sub
    If Not Intersect(Target, Range("G14:G144")) Is Nothing Then
        Select Case UCase(Target.Value)
        Case "AUN", ""
            Range("A" & Target.Row).Interior.ColorIndex = xlNone        'Normal
            Range("A" & Target.Row).Font.Color = 0                      'Negra
        Case "PAGADA"
            Range("A" & Target.Row).Interior.Color = RGB(21, 105, 37)   'Verde
            Range("A" & Target.Row).Font.Color = RGB(255, 255, 255)     'Blanco
        Case "VENCIDA"
            Range("A" & Target.Row).Interior.Color = 190
            Range("A" & Target.Row).Font.Color = vbWhite                'Blanco
        Case Else
            MsgBox "Palabra incorrecta, corregir", vbExclamation
            Target.Select
        End Select
    End If
End Sub

Digo una o 2 líneas dentro del mismo evento para que no haga larga la macro
Estuve tratando con algo encontrado en la WEB pero no logro que funcione con lo que he encontrado
Agradezco tu generosidad para darme una manita mas en esto

1 respuesta

Respuesta
1

No entendí qué necesitas

La macro funciona así, no importa cómo escribas la palabra, puedes poner

"Vencida" o "vencida" 0 "VENCIDA" O "vEnCiDa"

La macro identifica que esa palabra es "VENCIDA" y entonces pone el color.

¿Qué necesitas?

La macro esta que tu escribes en mayúsculas, minúsculas o 1ª letra mayúsculas y la macro reconoce y da el resultado esperado para los colores, CORRECTO

Lo que pretendo yo es que escriba como escriba, que la macro SIEMPRE me reconozca lo escrito en MAYÚSCULAS

¿Y si pones minúsculas que no haga nada?

Cambia esta línea

Select Case UCase(Target.Value)

Por esta

Select Case Target.Value

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas