Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccion - Macros Parte 2
Introduccion - Macros Parte 2
Aplicación
(Application)
Libro
(Workbook)
Hoja
(Worksheet)
Rango
(Range)
Si quisieras seleccionar la celda B2 de la hoja “Totales” del libro “Ventas anuales.xlsx”, tendrías que hacerlo siguiendo
toda la jerarquía:
Si el objeto de mayor rango es el objeto activo, se puede omitir de la referencia. Si se tiene activo el libro “Ventas
anuales.xlsx”, se podría seleccionar la celda B2 de la siguiente forma:
Bajando un poco más por la jerarquía, si la hoja activa fuese “Totales”, se podría seleccionar la celda B2 así:
Objeto
Por ejemplo, propiedades del objeto Range pueden ser Name (nombre), Value (valor) y Column (columna), entre muchos
otros.
El uso de las diferentes propiedades te permitirá modificar las características del objeto. Por ejemplo, se puede utilizar
la propiedad Value para modificar el valor que se muestra en una celda. También es posible utilizar las propiedades para
modificar el aspecto de un objeto. Por ejemplo, la propiedad Borders permite cambiar el borde de la celda.
Por ejemplo, si se quiere cambiar el tipo de fuente al objeto Range, se debe usar la propiedad Font. Como las fuentes
tienen diferentes nombres, tamaños o estilos, existen otras propiedades que califican a la propiedad Font.
De esta forma, si se quiere seleccionar la celda A2 de la hoja activa, se tendría que usar la siguiente instrucción:
Por ejemplo, si quieres guardar el libro actual con el nombre “Ventas 2019”, se tiene que utilizar la siguiente
instrucción:
Si el módulo no está abierto solamente deberás hacer doble clic sobre él.
STOP!
¿Qué es Sub y End Sub?
Las subrutinas ayudan a agrupar varias instrucciones de manera que se pueda organizar
adecuadamente el código. Una subrutina siempre tiene un nombre el cual debe ser especificado justo
después de la instrucción Sub y seguido por paréntesis.
De esta manera asignamos una cadena de texto al valor de la celda A1. Ahora bien, si se quiere borrar
ese valor que se acaba de de colocar en la celda podemos utilizar el método Clear de la siguiente
manera:
ActiveCell sirve para referirse a la celda actualmente seleccionada en una hoja de cálculo. Siempre que se
haga click en cualquier celda, esta automáticamente se convertirá en la ActiveCell.
En el siguiente código, se hace mención a la hoja “Hoja1”, la que va a ser utilizada mediante el método
Activate. Luego con Range, activamos la posición en la celda B5. Con esto sabemos que la ActiveCell
ahora es B5, y sobre esa celda se aplica la propiedad “negrita” (bold) a la fuente.
Explicación: la celda D4 hace referencia a la celda B3 (fila 3, columna 2). Esta es una referencia
absoluta (equivalente al símbolo de $ delante del número de fila y la letra de la columna).
Explicación: la celda D4 hace referencia a la celda B3 (una fila arriba y 2 columnas a la izquierda). Esta es una
referencia relativa. Esta línea de código da exactamente el mismo resultado que la línea de código utilizada en el
paso 1.
¿Por qué es importante entender el formato R1C1? Porque este es el código que genera la grabadora cuando escribimos
fórmulas en ese proceso (revisar código generado en la grabadora).
Permite ejecutar un conjunto de instrucciones sin tener que volver a hacer referencia al mismo objeto.
Esta estructura es entregada con frecuencia por el grabador de macros.
La sintaxis de With en VBA es la siguiente:
With object
[ Instrucciones ]
End With
Como se puede observar, en este caso se está utilizando With en Vba para lograr que la celda A1 tenga
el texto indicado y ese texto se encuentre en negritas. Es equivalente al siguiente ejemplo:
En el siguiente ejemplo veremos cómo seleccionar la celda, asignar un valor y además aplicar
propiedades de Font: