Aprender a programar con Excel VBA con 100 ejercicios práctico. MEDIAactive
hasta la celda A7 y aplicar el autorrelleno.
11 Evidentemente, se completan los nombres de los siete días de la semana
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.
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,
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.
020 | Firmar una macro |
VISUAL BASIC PROPORCIONA A LOS USUARIOS la capacidad de firmar digitalmente una macro. Si la macro es modificada, la firma desaparece, de modo que su presencia es una garantía de que ésta no ha sido alterada. Para este ejercicio crearemos la firma desde Excel y luego la insertaremos en Visual Basic.
1 Con el libro Prácticas1 abierto en pantalla, despliegue el menú Archivo y en la ficha Información de la backstage, pulse el botón Proteger libro y seleccione la opción Agregar firma digital.
2 Aparece el cuadro Obtener un id: digital. Si escoge la opción Obtener un id. digital de un colaborador de Microsoft será dirigido a una página que le proporcionará información sobre los proveedores recomendados por Microsoft. Seleccione la opción Crear su propio id. digital y pulse Aceptar.
3 Complete los datos solicitados en el cuadro de diálogo Crear un id. digital y pulse el botón Aceptar para generar la identificación digital.
4 El cuadro de diálogo Firmar le permite indicar la razón por la que va a firmar el documento así como agregarle la firma que ha creado en pasos anteriores y que aparece ya en el apartado Firmar como. Escriba una razón y pulse el botón Firmar.
5 En la vista Información se ha añadido un comando llamado Ver firmas y se advierte que la presentación ha sido firmada y marcada como final, por lo que no debe ser editada.
6 Una vez ha creado su firma personal, esta queda disponible para ser insertada en cualquier lugar. Acceda a Visual Basic.
7 Abra el módulo 3 del libro Personal, que contiene la macro Días_relativo.
8 Despliegue el menú Herramientas y seleccione la opción Firma digital.
9 El cuadro Firma digital le indica en primer lugar que este proyecto no está firmado. Pulse el botón Elegir.
10 El cuadro Seleccione un certificado le permite elegir alguno de los certificados de firma personal disponibles en su equipo. Pulse el vínculo Haga clic aquí para ver las propiedades.
11 En la ficha General del cuadro en pantalla se informa sobre la validez del certificado. Pulse el botón Aceptar de éste y de los dos cuadros que han quedado en segundo plano.
12 Despliegue el menú Herramientas y escoja de nuevo la opción Firma digital.
13 Se informa que la macro ha sido