Macro para convertir automáticamente el texto en mayúsculas.
Con esta macro cualquier texto introducido en un rango de celdas, será automáticamente convertido a mayúsculas.
A continuación, les explicare como realizarlo en una columna.
1. Abrir el editor Visual Basic para Aplicaciones (VBA).
2. Ahora del lado derecho buscamos la hoja donde queremos realizar la acción y damos doble click, a continuación, se abrirá una ventana donde podremos introducir el código de nuestra macro.
En esta ventana...
A) Colocamos el siguiente código "Worksheet_Change" el evento Change va a detectar los cambios realizados en nuestra hoja:
B) Declaramos nuestra variable de tipo rango.
C) Guardamos en una variable la ubicación de la celda activa con Target.Address:
D) iniciamos nuestro rango donde queremos realizar el cambio y con el método Intersect vamos a relacionar la celdas que cambiaron con nuestro rango establecido.
E) Evaluamos si hubo un cambio en las celdas de nuestro rango establecido. sí hay un cambio, pero no es nuestro rango seleccionado va a terminar la rutina de nuestra macro.
F) Apagamos los eventos de nuestra hoja para su correcto funcionamiento de nuestra macro.
G) Nuestro código que va a cambiar todo a mayúsculas.
H) Encendemos los eventos de nuestra hoja.
I) cerramos nuestra macro.
4. Al final nuestra macro va a quedar de la siguiente manera:
A continuación, les explicare como realizarlo en una columna.
1. Abrir el editor Visual Basic para Aplicaciones (VBA).
2. Ahora del lado derecho buscamos la hoja donde queremos realizar la acción y damos doble click, a continuación, se abrirá una ventana donde podremos introducir el código de nuestra macro.
En esta ventana...
A) Colocamos el siguiente código "Worksheet_Change" el evento Change va a detectar los cambios realizados en nuestra hoja:
Private Sub Worksheet_Change(ByVal Target As Range)
B) Declaramos nuestra variable de tipo rango.
Dim rng1 As Range
C) Guardamos en una variable la ubicación de la celda activa con Target.Address:
Mycell = Target.Address
D) iniciamos nuestro rango donde queremos realizar el cambio y con el método Intersect vamos a relacionar la celdas que cambiaron con nuestro rango establecido.
Set rng1 = Intersect(Target, Range("A1:A100")) 'rango seleccionado
E) Evaluamos si hubo un cambio en las celdas de nuestro rango establecido. sí hay un cambio, pero no es nuestro rango seleccionado va a terminar la rutina de nuestra macro.
If rng1 Is Nothing Then Exit Sub
F) Apagamos los eventos de nuestra hoja para su correcto funcionamiento de nuestra macro.
Application.EnableEvents = False
G) Nuestro código que va a cambiar todo a mayúsculas.
Range(Mycell).Value = UCase(Range(Mycell).Value)
H) Encendemos los eventos de nuestra hoja.
Application.EnableEvents = True
I) cerramos nuestra macro.
End Sub
4. Al final nuestra macro va a quedar de la siguiente manera:
Private Sub Worksheet_Change(ByVal Target As Range) Dim rng1 As Range Mycell = Target.Address Set rng1 = Intersect(Target, Range("A1:A100")) ' tu rango que va a validar If rng1 Is Nothing Then Exit Sub Application.EnableEvents = False Range(Mycell).Value = UCase(Range(Mycell).Value) Application.EnableEvents = True End Sub
0 comments :
Publicar un comentario