domingo, 17 de julio de 2011

Cómo se escribe una macro en VBA para Excel? Un ejemplo muy sencillo que convierte en mayúsculas las letras de una celda.

Abrimos el editor de VBA.
     En Excel 2003:  Herramientas/Macros/Editor de Visual Basic.  O tambien Alt + F11

Debe estar visible el explorador de proyectos.

Explorador de Proyectos
De no estar visible el explorador de proyectos hacemos clic en su icono en la barra Estándar.

Barra Estándar

Luego debemos insertar un módulo, con el botón derecho del ratón en la carpeta "Microsoft Excel Objetos".

Insertar módulo

Ahora podemos escribir las instrucciones en el área general de código del módulo1.

                  Sub Mayuscula()
                          ActiveCell.Value = UCase(ActiveCell.Value)
                  End Sub
                                                         Macro
 

La palabra Sub, indica que el código que sigue a continuación es un procedimiento público.
Luego de la palabra Sub se indica el nombre del procedimiento, en nuestro caso lo llamaremos Mayuscula. Seguidamente del nombre se colocan entre paréntesis los nombre de las variables a utilizar, pero en nuestro caso no utilizaremos ninguna por lo cual la primera línea queda así:
"Sub Mayuscula()".

Desde la segunda línea de código se indican las instrucciones que ejecutará el procedimiento, el cual finalizará al llegar a la línea con la instrucción End Sub. En nuestro ejemplo el código solo consiste en una sola línea: "ActiveCell.Value = UCase(ActiveCell.Value)".

El procedimiento interpreta que el valor en la celda activa debe ser igual al resultado de la función de UCase de VBA evaluada en la misma celda activa. UCase es una función que convierte en mayúsculas las letras de una cadena de caracteres, en este caso la cadena de caracteres es tomada del valor de la celda activa. Luego este resultado es asignado a la misma celda activa.

No hay comentarios:

Publicar un comentario