Читать книгу Aprender a programar con Excel VBA con 100 ejercicios práctico - MEDIAactive - Страница 25
Оглавление019 | Crear macro con referencias relativas |
CUANDO ACTIVA LA OPCIÓN USAR REFERENCIAS relativas del Programador, las referencias a saldos o rangos de celdas son también relativas. Se expresan en dos valores, uno para las columnas y otro para las filas, que pueden ser positivos o negativos.
1 Antes de crear una macro de referencia relativa, analicemos el código de la macro de referencia absoluta que acaba de crear. En su primera instrucción se indica que se seleccione una celda concreta, en este caso A1. En la segunda se indica que se introduzca en la celda activa el texto entre comillas, Lunes y en la tercera que se aplique el autorelleno predeterminado al rango de celdas A1 a A7, que son las seleccionadas para terminar. Es posible que tenga que reducir el tamaño de las ventanas de la derecha para poder leer correctamente el código.
2 Ahora, en el documento abierto en Excel, inserte una hoja llamada Relativas y seleccione una celda distinta a la A1.
3 En el grupo Código de la ficha Programación de Visual Basic, active el comando Usar referencias relativas con un clic.
4 Pulse el botón Grabar macro y cree una nueva macro llamada Días_relativos. La herramienta Usar referencias relativas se muestra destacada en color amarillo cuando está activa y hace que las instrucciones se ejecuten sobre celdas en la misma posición relativa.
5 Compruebe en la ventana Código de VBA que en este caso la nueva subrutina se crea directamente en el mismo Módulo 2 que tenía abierto en pantalla.
6 Pulse en la celda A1 e introduzca el texto Lunes y pulse el botón Introducir de la barra de fórmulas.
7 Compruebe en el código que la referencia a la celda A1 se indica en relación a la celda seleccionada inicialmente, en nuestro caso ActiveCell.Offset(-12,0) que indica que se trata de 12 filas hacia arriba y la misma columna. A continuación se indica la celda efectivamente seleccionada.
8 Arrastre la esquina inferior derecha para volver a autocompletar los nombres de los siete días de la semana, detenga la grabación y compruebe el código.
9 Seleccione la segunda subrutina y córtela pulsando Ctrl+X.
10 Inserte un nuevo módulo en el Proyecto personal y pegue en su ventana de códigos el contenido copiado.
11 Inserte una nueva hoja en blanco en el libro Prácticas1 y seleccione una celda distinta a la A1.
12 Pulse el botón Ejecutar macro de la barra de herramientas de VBA y en el cuadro Macros seleccione la macro Días absolutos.
13 Se insertan los días de la semana en las mismas celdas en las que lo hizo al grabar la macro. Seleccione alguna celda y ejecute ahora la macro Días_relativo para comprobar cómo en este caso el resultado es distinto. Puede grabar distintos códigos en un mismo módulo. En este caso el texto End Sub marca el final del primero. También puede escribir manualmente varias subrutinas en un mismo módulo.