Escribir solo en mayusculas en un determinado rango

Hola, tengo esta rutina que funciona bien, al escribir en cualquier parte de la hoja pasa a mayúsculas, pero si tengo formulas me las convierte en texto. Y necesito que sigan siendo formulas. Que debo cambiar para que solo aplique el convertir a mayúsculas a  solo un rango?

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Cells.Count = 1 Then

Application.EnableEvents = False

Target.Value = UCase(Target.Value)

Application.EnableEvents = True

End If

End Sub

El rabgo que necesito es: C19:W38

1 respuesta

Respuesta
1

Te anexo la macro actualizada

Private Sub Worksheet_Change(ByVal Target As Range)
'Act.Por.Dante Amor
    If Target.Count = 1 Then
        If Not Intersect(Target, Range("C19:W38")) Is Nothing Then
            If Not Target.HasFormula Then
                Application.EnableEvents = False
                Target.Value = UCase(Target.Value)
                Application.EnableEvents = True
            End If
        End If
    End If
End Sub

Si escribes una fórmula, entonces no convierte la fórmula a texto. Pero si el resultado de la fórmula es un texto en minúsculas ese texto se conservará en minúsculas.


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas