Como pasar texto a mayúsculas sin la fórmula mayusc

Tengo una hoja de excel y necesito que todos los datos que están en minúsculas los pase a mayúsculas pero sin necesidad de usar celdas auxiliares es esto posible

Dejo foto de las columns donde utilizo

1 respuesta

Respuesta
2

Puede ser con una macro:

Sub Mayusculas()
  Dim c As Range
  Dim lr As Long
  lr = Range("B:F").Find("*", , xlValues, xlPart, , xlPrevious).Row
  For Each c In Range("B1", Range("F" & lr))
    c.Value = UCase(c.Value)
  Next
End Sub

Comentas si es lo que necesitas.

¡Gracias! Tarda basteb pero cumple su cometido

Prueba la siguiente, el resultado debe ser inmediato:

Sub MayusculasConMatriz()
  Dim a As Variant
  Dim i As Long, j As Long
  a = Range("B1", Range("F" & Range("B:F").Find("*", , xlValues, xlPart, , xlPrevious).Row)).Value
  For i = 1 To UBound(a, 1)
    For j = 1 To UBound(a, 2)
      a(i, j) = UCase(a(i, j))
    Next
  Next
  Range("B1").Resize(UBound(a, 1), UBound(a, 2)).Value = a
End Sub

También prueba la siguiente y comentas:

Sub MayusculasConIf()
  With Range("B1", Range("F" & Range("B:F").Find("*", , xlValues, xlPart, , xlPrevious).Row))
    .Value = Evaluate("=IF({1},UPPER(" & .Address & "))")
  End With
End Sub

¡Gracias! La segunda probé y es muy rápida

La primera macro realiza un ciclo poniendo el valor celda por celda. La macro es efectiva si son pocos datos.

La segunda macro es mucho más efectiva, también realiza un ciclo, pero el cambio lo realiza en memoria, al final en su solo paso pone los resultados en la hoja.

La tercera macro solamente es para mostrar otra opción sin ciclos.

Siempre es un placer ayudarte.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas