Está en la página 1de 15

1.

IDENTIFICACION DEL CURSO Y TEMA


CURSO: EXCEL AVANZADO
TEMA: MACROS DURACION: 4
Elaborado por Yamid Pepinosa

2. INTRODUCCION

Cuando se trabaja habitualmente con programas de edición de textos, con bases de


datos o con hojas de cálculo es fácil darse cuenta de lo que significa tener que
introducir constantemente los mismos comandos. En especial cuando se trata de
procesos complejos o en varios pasos, este tipo de programas puede poner a prueba
los nervios más resistentes. Las denominadas macros, que se traducirían del inglés
como “instrucciones”, registran una secuencia de comandos para que puedan ser
ejecutadas automáticamente por el usuario en un determinado momento,
convirtiéndose así en un elemento de apoyo más que bien recibido. Escritas en
lenguaje de programación, su uso no requiere, sin embargo, disponer
de conocimientos informáticos, pues muchos programas, entre ellos Microsoft
Excel, son capaces de grabar macros simples, al mismo tiempo que proporcionan
ayuda a la hora de escribirlas. Para el software de procesamiento de hojas de cálculo
de Microsoft, las macros son una de las funciones más importantes. Ahora bien, ¿qué
son las macros de Excel y por qué son tan útiles? La respuesta a esta pregunta
fundamental a continuación.

3. RESULTADO ESPERADO

Utilizar las herramientas de macros para agilizar el trabajo en una hoja de Excel.

4. ACTIVIDADES DE APRENDIZAJE

QUE ES UNA MACRO


Microsoft Excel se cuenta entre las soluciones más demandadas a la hora de
editar, analizar y presentar datos. Los usuarios de Windows pueden utilizar las
populares hojas de cálculo, incluidas en la suite ofimática de Microsoft, para,
entre otras cosas, planificar un presupuesto o crear un calendario personal. En
el entorno laboral Excel es también una herramienta muy utilizada, pues no solo
permite elaborar planes de proyectos, registros de horas de trabajo o planes
presupuestarios, sino también e igual de fácilmente, representaciones
gráficas de cifras de ventas, de beneficios o de pérdidas. Una vez se ha
aprendido a utilizar el programa, se aprecian pronto sus numerosas funciones,
aunque también es fácil desarrollar una cierta aversión hacia tareas rutinarias y
repetitivas o ante acciones que no se puedan ejecutar fácilmente con ayuda de
la interfaz estándar.

No es extraño, por esto, que la posibilidad de crear macros se cuente entre las
características cruciales del programa de cálculo. La herramienta integrada en
Excel para grabar macros utiliza el lenguaje de scripts Visual Basic for
Applications (VBA), que también se implementa en Word, Powerpoint, Access
y Outlook. Gracias a este lenguaje es posible crear macros en Excel capaces de
ejecutar de forma automática comandos rutinarios o incluso añadir nuevas
funciones (algoritmos para el análisis de datos) a la hora de cálculo.

Así funcionan las macros en Excel

Excel dispone los diversos elementos que componen la interfaz de uso como
objetos-programa organizados jerárquicamente, cada uno de los cuales posee
propiedades y métodos específicos. En este sistema jerárquico, todos los
objetos disponibles se encuentran conectados entre sí y se ven reflejados de
forma aproximada en la interfaz de usuario, que proporciona los mandos
necesarios para poder interactuar con la aplicación. Estos objetos pueden
editarse determinando sus propiedades y asignándoles métodos. Por ejemplo,
para el objeto “Workbook” existen los métodos “Close”, con cuya ayuda se cierra
el libro seleccionado, así como la propiedad “ActiveSheet”, que muestra la hoja
activa en el libro de trabajo.

Mediante las listas (objetos señalados con el sufijo plural -s) las macros también
pueden ejecutar acciones sobre un grupo de objetos. El objeto para listas
“Worksheets” en una macro tiene como resultado que las instrucciones se
aplican a todas las hojas de trabajo. Para ejecutar una macro se tienen estas
tres opciones:

 Seleccionar la opción correspondiente en el menú de macros


 Seleccionar una tecla creada por el usuario
 Un atajo de teclado personal

Las ventajas de utilizar macros con Excel

Si, con anterioridad, consciente o inconscientemente, no se ha aprovechado la


utilidad de las macros de Excel, no significa esto que haya sido en detrimento
del trabajo con archivos de Excel, pero sí que se ha elegido el camino más
difícil. Y es que saltan a la vista las ventajas decisivas de la tecnología de
macros que las convierten en una tarea obligatoria para todo aquel que quiera
sacar el máximo partido al software de hojas de cálculo. Esto es lo que aporta
crear macros con Excel:

 Reducen la tasa de errores: con cada comando que se introduce


manualmente en la hoja de cálculo aumenta la probabilidad de cometer
un error y es que, especialmente cuando se trata de secuencias
complejas de comandos y de acciones repetitivas, es muy fácil dar un
paso en falso que bloquee incluso al programa al completo. Grabando
macros, en cambio, solo esconde un potencial de error el propio proceso
de su creación, pero si se hizo todo correctamente, la macro funciona
siempre a la perfección.

 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.

 Aumentan la utilidad de Excel: Con Visual Basic no solo se pueden


programar macros, sino también desarrollar nuevas funciones. De este
modo el usuario tiene la posibilidad de ampliar el abanico de funciones
con aquellas adecuadas a sus necesidades y de simplificar de forma
considerable sus fórmulas. Algo muy práctico es que Excel presenta
estas funciones definidas por el usuario como si fueran nativas del
programa y, más aún, el usuario puede fijar botones de acceso rápido a
sus propias macros en la barra de símbolos.

GRABAR UNA MACRO


En Excel existen dos maneras de crear una macro, la primera es usando la
herramienta para grabar macros que trae Excel y la segunda es empleando el
lenguaje VBA

CREAR UNA MACRO AUTOMÁTICAMENTE


La forma más fácil e intuitiva de crear macros es crearlas mediante el grabador
de macros
del que dispone Excel.
Este grabador de macros te permite grabar las acciones deseadas que
posteriormente las
traduce a instrucciones en VBA.

ACTIVACIÓN DE LA BARRA DE HERRAMIENTAS


Antes de empezar es necesario colocar la barra de herramienta de
Programador, que contendrá todas las herramientas necesarias para realzar
todos los ejercicios.
Hacer clic en la pestaña ARCHIVO, posteriormente clic en Opciones de Word y
habilitar la opción Mostrar ficha programador en la cinta de opciones.
CREANDO UNA MACRO

Este ejemplo ilustra como grabar una macro que permite escribir texto en una
celda.
1. Abra Excel y cree un nuevo documento con el nombre “ejercicio1”.
2. Elija la celda en la que quiera insertar algún fragmento de texto, por ejemplo
su nombre.
3. Seleccione en la barra Programador y el icono Grabar Macro

4. En el cuadro de diálogo en la caja de texto de Nombre de la macro1 escriba:


“miPrimerMacro”, seguido en el cuadro de texto para Método Abreviado escriba
“m”.

5. Presione el botón aceptar del cuadro de diálogo “Grabar macro”. A partir de


este momento todo lo que haga se grabará en la Macro.
6. Escriba su nombre en la celda seleccionada seguido presione la tecla Enter.
7. Presione el botón detener (el cuadro azul). Se ha acabado de grabar su
primer macro.

Crear macros en Excel: manual paso a paso

Para crear macros propias hay que activar el editor Visual Basic, que forma
parte de las herramientas para desarrolladores y no está, por defecto, disponible
en la cinta de opciones (la antigua barra de herramientas). En un primer paso,
entonces, se debe añadir la pestaña o ficha denominada Developer
(Programador).

Nota: por motivos editoriales se ha seguido la versión en inglés de Microsoft


Excel. Entre paréntesis se mostrará siempre la función en castellano.
Primer paso: añadir la ficha Developer a la cinta de opciones

Dirígete a la pestaña File (Archivo) y selecciona Options (Opciones). En el punto


Customize the Ribbon (Personalizar la cinta de opciones) se encuentra un
listado de todas las pestañas principales o Main Tabs, entre las que se
encuentra Developer (Programador):

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.

Vista de la cinta de opciones con la pestaña Developer


Segundo paso: crear un libro nuevo para macros

A continuación, se crea un libro que sirva de base a las macros registradas.


Para ello, haz clic en Macros en la pestaña Developer y cuando aparezca la
ventana emergente introduce el nombre de la primera macro –en este ejemplo
“Hello”– en Macro Name. Confirma haciendo clic en Create (Crear), a lo que se
abre el editor Visual Basic con el siguiente código:
Antes de grabar macros se ha de crear un libro para macros donde guardarlas
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
Haciendo clic en OK se cierra la ventana y se finaliza la ejecución de la macro.

Por último, se guarda el libro en el editor Visual Basic.


Tercer paso: crear un botón de acceso rápido para las macros

Las macros de Excel son accesibles para su ejecución tanto desde la pestaña
Developer como desde View, pero si se va a usar una macro a menudo, quizá
convenga generar un acceso rápido en la lista de símbolos de acceso
rápido en la parte superior izquierda. Eso se hace de la siguiente forma:

1. Abre la pestaña File (Archivo).


2. Abre las opciones y haz clic en Quick Access Toolbar (Lista de símbolos
de acceso rápido)
3. Selecciona en Choose comands from (Seleccionar comando desde) la
opción Macros y busca allí la macro “Hello” que has creado.
4. Añádela a la lista de símbolos de acceso rápido marcándola y
confirmando con Add (Añadir).
5. Antes de confirmar definitivamente con OK aún puedes determinar el
símbolo con el que se mostrará. Para ello selecciona la macro y a
continuación haz clic en Modify (Cambiar). Para este ejemplo se ha
elegido un smile.

Una vez finalizado, la lista de símbolos, que incluye “Guardar”, “Deshacer” y


“Rehacer”, se ha completado con la macro “Hello”:

Se ha creado un símbolo de acceso rápido para la macro Hello en la lista de


símbolos de Excel
Nota: también es posible definir un atajo de teclado para la ejecución de
macros. Sigue para ello la ruta “Programador>Macros>Opciones” o
“Developer>Macros>Options”.
Cuarto paso: grabar una macro

El editor Visual Basic, incluido entre las aplicaciones ofimáticas de Microsoft,


brinda la ventaja de que permite crear macros simples sin tener que dominar
este lenguaje de programación. Como ejemplo, vamos a crear una macro que
cambia el nombre de una hoja automáticamente. Sigue estos pasos:

1. Selecciona la opción Record Macro (Grabar macro) en la ficha Developer


que ya conoces.

2. En el cuadro de diálogo que aparece a continuación titula la macro como


“RenameWorksheets” (renombra hojas de trabajo) e inicia la grabación
haciendo clic en OK.

3. Cambia el nombre de la “Sheet 1” (Hoja 1) por el de “New Name” (Nuevo


nombre) y da por finalizada la grabación de la macro haciendo clic en
Stop Recording (Finalizar grabación).

Si ahora volvemos al editor Visual Basic (“Programador”>”Macros”>”Editar” o


“Developer>Macros>Edit”) debería mostrarse un código similar a este:

En el Editor Visual Basic se muestra el código de las macros para editarlo


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

Cómo crear diagramas y cuadros de diálogo con macros de Excel

Hemos visto como Visual Basic facilita la mecanización de las más diversas
tareas en Excel. Con la ayuda de la grabación de comandos, el usuario no solo
dispone de una herramienta muy sencilla con la que simplificar los procesos,
sino que también adquiere, de paso, conocimientos sobre este lenguaje de
programación. Así que no dudes en usar el editor de código si te parece que
creando una macro en Excel podrías agilizar un determinado proceso.

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:
Dim mygraphic As Chartobject
En la siguiente línea crea un objeto, al cual asignas la variable mygraphic:
Set mygraphic = ActiveSheet.ChartObjects.Add(100, 50, 200, 200)
Los valores entre paréntesis corresponden a la posición y al tamaño del
diagrama: 100 y 50 son las coordinadas de la esquina superior izquierda,
mientras que 200 y 200 corresponden a la anchura y a la altura. Si ejecutamos
la macro, Excel genera el objeto automáticamente en función de esta
posición y este tamaño, aunque, al no haber introducido aún ningún dato, se
muestra aún vacío, así:

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.
Ejemplo de un gráfico de barras sencillo creado con una macro de Excel
Excel interactivo: crear cuadros de diálogo

Otra posibilidad que se deriva del uso de macros en Excel consiste en la


creación de cuadros de diálogo con los cuales los usuarios pueden interactuar
con el programa. Si, por ejemplo, se trata de crear una ventana en la cual
el valor que se introduzca se escriba automáticamente en una celda
definida, comienza creando y nombrando la macro como hasta ahora. En
nuestro ejemplo, damos a esta macro el nombre de “DialogBox”. En la subrutina
indica a continuación el lugar a donde se destina el valor que introducirán luego
los usuarios:
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).

La asignación de la variable de este campo o Value corresponde a la segunda


parte del comando. En el ejemplo nos hemos decantado por el
comando InputBox, muy similar al comando MsgBox que se utilizó en aquella
macro “Hello” del principio. Combinado con los tres argumentos siguientes,
escritos en Visual Basic entre comillas, resulta el cuadro de diálogo que
mostramos a continuación:
 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

Importar o exportar macros de Excel

Una vez se han grabado macros en un documento de Excel es muy fácil


utilizarlas en otro documento o compartirlas con otros usuarios. Esta es la
finalidad de una función para importar y exportar contenida en el editor Visual
Basic y que permite guardar la macro en el formato. bas e integrarla en un
documento Excel. La única condición es que las macros también estén
activadas en este documento, aunque, debido al riesgo para la seguridad que
albergan estos scripts, por otro lado tan prácticos, Excel ejerce ciertas
limitaciones estándar para proteger a sus usuarios, de tal forma que puede
bloquear aquellas macros con o sin notificación o todas las que carezcan de
firma digital. La solución más sencilla pasa por autorizar todas las macros
automáticamente, aunque antes de la importación hay que asegurarse de que
los códigos son fiables.

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.

5. RESULTADO ESPERADO
Elaborar macros para repetir acciones o procesos dentro de un libro de Excel.

6. ACTIVIDADES DE APRENDIZAJE

CONTENIDO:
 Macros
 Visual Basic

ACTIVIDAD DE ENTREGA:
Tarea: Participar en el foro

7. CRITERIOS DE EVALUACION
Los criterios de evaluación para cursos de educación continuada como el de gestión
documental están relacionados con la presentación de todas las actividades y la
asistencia al menos al 50% de las videoconferencias programadas.

La actividad propuesta se evaluará con el cumplimiento del plazo de entrega de las


actividades y obviamente con la pertinencia del contenido entregado. Para quienes
cumplan lo anterior, se les otorgará la valoración de APROBADO y para aquello que
incumplan con NO APROBADO.

8. MATERIAL Y HERRAMIENTAS DE APOYO.

https://support.office.com/es-es/article/inicio-r%C3%A1pido-crear-una-macro-
741130ca-080d-49f5-9471-1e5fb3d581a8

https://www.excel-avanzado.com/que-son-las-macros-en-excel

También podría gustarte