Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Reducen el tiempo de trabajo: como las macros se crean una sola vez y se
utilizan siempre que se necesite, ahorran un tiempo valioso que es posible dedicar
a otras tareas.
Para poder grabar macros hay que añadir la pestaña Developer (Programador) a la cinta
de opciones.
Marca la casilla de Developer y confirma haciendo clic en OK. Ahora la pestaña ya se
encuentra en la cinta de opciones.
Sub equivale aquí a subrutina y hace referencia a una macro, que en sí es una especie de
programa secundario de Excel. Cuando se inicia una macro, se ejecuta el código que
figura entre Sub y End Sub. Podemos realizar una pequeña prueba ampliando el código de
la macro Hello con el mensaje “Hello World!”:
Sub Hello ()
MsgBox ("Hello world!")
End Sub
Guardamos el código en formato .xslm (Macro-Enabled Excel Format), cerramos y
volvemos a la hoja de Excel. Aquí hacemos clic en Macros y seleccionamos la macro
llamada “Hello” de la lista. Para ejecutarla accionamos el botón Run (Ejecutar) y aparece
un pequeño cuadro de información con el texto que acabamos de definir:
La primera macro Hello con el mensaje “Hello world!” ha sido creada con éxito
Abre las opciones y haz clic en Quick Access Toolbar (Lista de símbolos de acceso rápido)
2.-Selecciona en Choose comands from (Seleccionar comando desde) la opción Macros y
busca allí la macro “Hello” que has creado.
Las cuatro primeras líneas de código bajo la línea que comienza con Sub, que empiezan
con un apóstrofe, constituyen comentarios que no tienen ninguna influencia en la
funcionalidad general de la macro y que solo sirven para una mejor comprensión del
código. Estos comentarios también permiten desactivar temporalmente algunas líneas de
código. En este ejemplo, concretamente, estas cuatro líneas generadas automáticamente
no son necesarias, por lo que podrías borrarlas sin ningún tipo de problema, aunque, si no
eres experto, te recomendamos no hacer modificaciones innecesarias en el código.
La siguiente línea contiene el método Select para seleccionar la “Sheet 1” (Hoja 1), paso
necesario durante la ejecución manual del cambio de nombre antes del cambio en sí. Sin
embargo, los scripts de Visual Basic no necesitan seleccionar objetos para poder editarlos,
por lo que esta línea de código también es prescindible. Así que, una vez finalizada su
edición, el código definitivo tendría este aspecto:
Sub RenameWorksheets ()
Sheets("Sheet1").Name = "New Name"
End Sub
Ahora, vuelve a Excel y, de nuevo, cambia el nombre de la hoja de trabajo por el de “Sheet
1” (u Hoja1) para poder ejecutar a modo de prueba la macro “RenameWorksheets” recién
creada. El nombre debería, así, cambiar automáticamente. Ten en cuenta que para
poder ejecutar otra vez la macro hay que ajustar la macro al nombre nuevo.
Con una macro también se puede crear un comando para cambiar el nombre de una hoja
automáticamente
Una vez presentada la creación de macros en general, los siguientes ejemplos ilustran de
forma concreta la diversidad de usos posibles de las macros de Excel.
Creación de un diagrama en un área de celdas
Una función muy utilizada de las tablas de Excel es la visualización de los datos como
esquemas o gráficos, una tarea algo laboriosa para la cual las macros pueden servir de
gran ayuda. Para comenzar, crea una macro con el nombre “AssortedTasks“ y declara
la variable para tu objeto:
La función para crear macros también facilita la creación de gráficos. En esta imagen vemos un
primer objeto vacío
En un siguiente paso, la tarea consiste precisamente en nutrir el gráfico con los datos que
han de mostrarse visualmente en él, para lo cual es necesario, por un lado, introducir los
datos y, por el otro, ajustar nuevamente la macro, al carecer aún de la información sobre
el lugar de donde ha de tomar los datos. Siguiendo el esquema With … End With se
añade el método SetSourceData y lo especificamos con la variable Selection, que sirve
para que la macro tenga en consideración, a la hora de ejecutarse, todas las casillas que
han sido marcadas. El código completo resulta así:
Sub AssortedTasks()
Dim mygraphic As ChartObject
Set mygraphic = ActiveSheet.ChartObjects.Add(100, 50, 200, 200)
With mygraphic
.Chart. SetSourceData Source:= Selection
End With
End Sub
Si, a continuación, a modo de prueba, introduces los valores del 1 al 5 en las celdas A1-A5
y ejecutas la macro, Excel presenta los datos introducidos como un gráfico de barras por
defecto, al no haber proporcionado ninguna información al respecto, que se haría mediante
la variable ChartType.
Sub DialogBox()
ActiveSheet.Range("A1").Value =
End Sub
Con este código, la macro se encarga de que la información que ha introducido el usuario
en el cuadro de diálogo se guarde en la celda A1 de la hoja activa (Hoja 1).
Prompt: con ayuda del primer argumento se define el texto que aparece en la
ventana y que ha de servir de apoyo al usuario.
Title: con este argumento se determina la cabecera del cuadro de diálogo
Default: define un valor estándar
Este sería un código ejemplar de una macro completa para un cuadro de diálogo con caja
y texto:
Sub DialogBox()
Sheet1.Range("A1").Value = InputBox("Please, enter a value for the field
A1", "Title of the dialog box", "Value for the field A1")
End Sub
Si ejecutas la macro, aparece la ventana correspondiente:
Ejemplo de cuadro de diálogo creado con una macro de Excel
Estas opciones para activar o desactivar macros se encuentran en el Trust Center (Centro
de seguridad). Para ello se abre la pestaña File, se selecciona Options, aquí Trust Center
y, finalmente, Trust Center Settings (Ajustes del Trust Center). Aquí se encuentra el punto
Macros Settings (Personalizar macros), que incluye las posibilidades de configuración
mencionadas arriba.
En el Trust Center se pueden ajustar las preferencias para las macros
Para exportar una macro, se abre el editor Visual Basic, se hace clic en la ficha File
(Archivo) y seguidamente en Export File (Exportar archivo). Ponle un nombre a tu
colección de macros, selecciona el directorio y finaliza la exportación con Guardar. Este
archivo solo pesa unos pocos bytes, de forma que puede enviarse cómodamente por
correo electrónico o guardarse en un dispositivo de almacenamiento portátil. Para importar
una macro, comienza de la misma forma para después seleccionar Import File (Importar
archivo) e indicar finalmente el directorio de destino.