0% encontró este documento útil (0 votos)
65 vistas21 páginas

Curso Modulo 1

Este documento describe cómo programar macros para Excel usando Visual Basic. Explica que una macro es una serie de instrucciones que se almacenan para ejecutarse de forma secuencial con una sola orden. Detalla las herramientas de Excel para crear, ejecutar y asignar macros, así como aplicaciones comunes de macros. Finalmente, cubre cómo agregar botones de control para ejecutar macros.

Cargado por

feñamen
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
65 vistas21 páginas

Curso Modulo 1

Este documento describe cómo programar macros para Excel usando Visual Basic. Explica que una macro es una serie de instrucciones que se almacenan para ejecutarse de forma secuencial con una sola orden. Detalla las herramientas de Excel para crear, ejecutar y asignar macros, así como aplicaciones comunes de macros. Finalmente, cubre cómo agregar botones de control para ejecutar macros.

Cargado por

feñamen
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

CÓMO PROGRAMAR MACROS PARA

EXCEL EN VISUAL BASIC

Módulo 1: Las Herramientas de Excel


Módulo 1: Las Herramientas de Excel

ÍNDICE
1. INTRODUCCIÓN ............................................................................................................................ 3
1.1. QUÉ ES UNA MACRO .............................................................................................................................................................. 3
1.1.1. Macros de aplicaciones ..............................................................................................................................................3
1.1.2. Macros en programación ..........................................................................................................................................3
Ejemplo de un MACRO para lenguaje BASIC:.......................................................................................................................................3
1.1.3. Macros ocultas ...............................................................................................................................................................4
1.2. QUÉ ES VISUAL BASIC ........................................................................................................................................................... 4
1.2.1. Futuro ...............................................................................................................................................................................6
2. HERRAMIENTAS DE EXCEL ........................................................................................................ 6
2.1. CREAR MACROS ..................................................................................................................................................................... 6
2.1.1. Grabar una macro ........................................................................................................................................................7
2.1.2. Crear una macro mediante VBA .............................................................................................................................8
2.1.3. Copiar parte de una macro para crear otra ......................................................................................................9
2.1.4. Asignar una macro a un objeto, gráfico o control ...........................................................................................9
2.1.5. Eliminar una macro ....................................................................................................................................................9
2.2. EJECUTAR MACROS..............................................................................................................................................................10
2.2.1. Antes de ejecutar macros ....................................................................................................................................... 10
2.2.2. Ejecutar una macro presionando una combinación de teclas de método abreviado con CTRL 11
2.2.3. Ejecutar una macro haciendo clic en un botón de la barra de herramientas de acceso rápido 12
2.2.4. Ejecutar una macro mediante un botón de un grupo personalizado de la cinta de opciones .... 13
2.2.5. Ejecutar una macro haciendo clic en un área de un objeto gráfico ...................................................... 13
2.2.6. Configurar una macro para que se ejecute automáticamente al abrirse un libro .......................... 14
Crear una macro Auto_abrir...................................................................................................................................................................... 14
2.2.7. Crear un procedimiento de VBA para el evento Open de un libro .......................................................... 16
3. APLICACIONES DE LAS MACROS ........................................................................................... 17
4. BOTONES DE CONTROL DE FORMULARIOS PARA EJECUTAR MACROS ........................ 18
4.1.1. Agregar un botón de macro a la barra de herramientas de acceso rápido ....................................... 19
4.1.2. Agregar una macro a su propio grupo de la cinta de opciones .............................................................. 20

CÓMO PROGRAMAR MACROS PARA EXCEL EN VISUAL BASIC 2


Módulo 1: Las Herramientas de Excel

1. INTRODUCCIÓN
1.1. Qué es una Macro
Una macro, abreviatura de macroinstrucción, es una serie de instrucciones que se
almacenan para que se puedan ejecutar de manera secuencial mediante una sola
llamada u orden de ejecución. Dicho de otra manera, una macroinstrucción es una
instrucción compleja, formada por otras instrucciones más sencillas. Esto permite la
automatización de tareas repetitivas.
Las macros tienden a almacenarse en el ámbito del propio programa que las utiliza y
se ejecutan pulsando una combinación especial de teclas o un botón especialmente
creado y asignado para tal efecto.
La diferencia entre una macroinstrucción y un programa es que en las
macroinstrucciones la ejecución es secuencial y no existe otro concepto del flujo de
programa.
1.1.1. Macros de aplicaciones
Son un grupo de instrucciones que se ejecutan secuencialmente y se utilizan para
economizar tareas. Una macro no es más que un conjunto de instrucciones (tales
como «borrar archivo», «añadir registro», etc.), y que se almacenan en una ubicación
especial. Por ejemplo, en Microsoft Access se observa que hay una zona para crear
macros. Una macro en Access trabajando para una base de datos podría ser un
archivo que, al llamarse desde otra instrucción, borrara los registros de un cliente o
accionista, luego borrara ciertos registros en otras tablas.
Excel tiene incorporado el editor de VBA, se pueden crear macros con la grabadora
de macros o escribiendo directamente los códigos en el Editor de VBA, esta última
opción es más potente, ya que la grabadora de macros se limita a grabar cosas
repetitivas que se hacen con el teclado, en cambio al escribir el código nos permite
hacer otras cosas convirtiendo a Excel en una aplicación súper potente al permitir
programar macros mediante VBA.
1.1.2. Macros en programación
Son un conjunto de comandos que se invocan con una palabra clave, opcionalmente
seguidas de parámetros que se utilizan como código literal. Los Macros son
manejados por el compilador y no por el ejecutable compilado.
Los macros facilitan la actualización y mantenimiento de las aplicaciones debido a que
su re-utilización minimiza la cantidad de código escrito necesario para escribir un
programa.
Ejemplo de un MACRO para lenguaje BASIC:

CÓMO PROGRAMAR MACROS PARA EXCEL EN VISUAL BASIC 3


Módulo 1: Las Herramientas de Excel

MACRO DefVar(v, d)
LOCAL v AS STRING
v=d
END MACRO
Este ejemplo de MACRO puede ser utilizado repetidamente para definir variables y
agregarles un contenido inicial con una sintaxis más estructurada:
DefVar(articulo, "Sweater")
DefVar(precio, "$ 10.00")
DefVar(descuento, "10%")
Debido a que los MACROS en programación pueden contener muchas líneas de
código para tareas complejas, y pueden ser invocados con un solo comando, ofrecen
la posibilidad de economizar código y facilitan en gran manera tareas complejas.
La diferencia entre un MACRO y una función, es que las funciones son módulos
independientes, mientras que los macros son porciones de código que el compilador
"pega" en el lugar de invocación. Esto les permite la posibilidad de usar variables
locales del módulo en el que son invocados, sin la necesidad de pasarlas al macro
como parámetros. Además, los parámetros del macro son utilizados como código
literal, y no como variables de un tipo específico.
1.1.3. Macros ocultas
Las macros ocultas son órdenes complejas de tipo macro que se han declarado en el
código fuente pero que permanecen ocultas por motivos de seguridad, por acceso
restringido, etc.
Este término ha sido popularizado por la película de ficción Tron, ambientada en un
mundo informático virtual, en la que se puede escuchar una voz fuera de campo
(probablemente de un programa dependiente del Control Central) que advierte a los
habitantes de ese mundo que tengan cuidado con las macros ocultas.
1.2. Qué es Visual Basic
Microsoft VBA (Visual Basic for Applications) es el lenguaje de macros de Microsoft
Visual Basic que se utiliza para programar aplicaciones Windows y que se incluye en
varias aplicaciones Microsoft. VBA permite a usuarios y programadores ampliar la
funcionalidad de programas de la suite Microsoft Office. Visual Basic para
Aplicaciones es un subconjunto casi completo de Visual Basic 5.0 y 6.0.
Microsoft VBA viene integrado en aplicaciones de Microsoft Office, como Word, Excel,
Access y PowerPoint. Prácticamente cualquier cosa que se pueda programar en
Visual Basic 5.0 o 6.0 se puede hacer también dentro de un documento de Office, con

CÓMO PROGRAMAR MACROS PARA EXCEL EN VISUAL BASIC 4


Módulo 1: Las Herramientas de Excel

la sola limitación que el producto final no se puede compilar separadamente del


documento, hoja o base de datos en que fue creado; es decir, se convierte en una
macro (o más bien súper macro). Esta macro puede instalarse o distribuirse con sólo
copiar el documento, presentación o base de datos.
Su utilidad principal es automatizar tareas cotidianas, así como crear aplicaciones y
servicios de bases de datos para el escritorio. Permite acceder a las funcionalidades
de un lenguaje orientado a eventos con acceso a la API de Windows.
Al provenir de un lenguaje basado en Basic tiene similitudes con lenguajes incluidos
en otros productos de ofimática como StarBasic y Open Office.
Sub LoopTableExample

Dim db As DAO.Database
Dim rcs As DAO.Recordset

Set db = CurrentDb
Set rcs = db.OpenRecordset("SELECT * FROM tblMain")

Do Until rcs.EOF
MsgBox rcs!FieldName
rcs.MoveNext
Loop

rcs.Close
db.Close
Set rcs = Nothing
Set db = Nothing
End Sub
VBA puede ser usado para crear una función definida por el usuario para usar en una
hoja de Microsoft Excel:
Public Function BUSINESSDAYPRIOR(dt As Date) As Date

Select Case Weekday(dt, vbMonday)

CÓMO PROGRAMAR MACROS PARA EXCEL EN VISUAL BASIC 5


Módulo 1: Las Herramientas de Excel

Case 1
BUSINESSDAYPRIOR = dt -3
Case 7
BUSINESSDAYPRIOR = dt -2
Case Else
BUSINESSDAYPRIOR = dt -1
End Select
End Function
VBA también tiene acceso a funciones internas de Windows en diversos grados, y
puede acceder recursos desde horarios hasta archivos y control:
Sub ObtenerFecha()

MsgBox "La fecha es " & Format(Now(), "dd-mm-yyyy")

End Sub
Se puede acceder al lenguaje al ingresar al menú herramientas. Y una vez allí MACRO
y EDITOR DE VISUAL BASIC.
1.2.1. Futuro
El siguiente paso natural en la evolución de VBA es dejar de ser un subconjunto de
Visual Basic y serlo de la plataforma .NET. Microsoft no planea hacer mejoras
significativas a VBA en el futuro. Aunque continuará dando soporte a las licencias de
VBA que se han ido ofreciendo, VBA está siendo sustituido por las Herramientas para
Aplicaciones de Microsoft Visual Studio (VSTA: Visual Studio Tools for Applications) y
las Herramientas para Office de Microsoft Visual Studio (VSTO: Visual Studio Tools
for Office). Estas herramientas funcionan bajo la plataforma .NET. Desde el 1 de julio
de 2007, Microsoft ya no ofrece nuevas licencias de VBA a nuevos clientes. Los que
poseían una licencia de VBA podrán conseguir una licencia de las nuevas soluciones
por parte de Microsoft.

2. HERRAMIENTAS DE EXCEL
2.1. Crear Macros
Para automatizar una tarea repetitiva, puede grabar rápidamente una macro en
Microsoft Excel. También puede crear una macro mediante el Editor de Visual Basic
en Microsoft Visual Basic para aplicaciones (VBA) para escribir su propio código de

CÓMO PROGRAMAR MACROS PARA EXCEL EN VISUAL BASIC 6


Módulo 1: Las Herramientas de Excel

macro, o para copiar toda o parte de una macro en una nueva macro. Después de
crear una macro, puede asignar a un objeto (por ejemplo, un botón de barra de
herramientas, gráfico o control) para que se pueda ejecutar haciendo clic en el objeto.
Si ya no usa una macro, puede eliminarla.
A continuación se muestran los pasos para crear o eliminar macros en Excel 2013 y
Excel 2016.
2.1.1. Grabar una macro
Cuando graba una macro, la grabadora de macros graba todos los pasos necesarios
para completar las acciones que desea que realice la macro. Entre estos pasos puede
incluir escribir texto o números, hacer clic en celdas o comandos de la cinta de
opciones o en los menús, dar formato, seleccionar celdas, filas o columnas y arrastrar
el mouse para seleccionar celdas en una hoja de cálculo. Los comandos para grabar,
crear y eliminar macros se encuentran en la pestaña Programador de la cinta.
1. Si la pestaña Programador no está disponible, siga estos pasos para mostrarla:
a. Haga clic en la ficha Archivo.
b. Haga clic en Opciones y, a continuación, haga clic en Personalizar cinta
de opciones.
c. En la categoría Personalizar cinta, en la lista Fichas principales, active
la casilla Programador y, a continuación, haga clic en Aceptar.
2. Primero tiene que establecer el nivel de seguridad para habilitar todas las
macros. Para ello haga lo siguiente:
a. En la ficha Programador, en el grupo código, haga clic en Seguridad de
macros.

b. En Configuración de macros, haga clic en Habilitar todas las macros (no


recomendado; puede ejecutarse código posiblemente peligroso) y, a
continuación, haga clic en Aceptar.
PRECAUCIÓN: Para ayudar a evitar que se ejecute código potencialmente peligroso,
recomendamos que vuelva a cualquiera de las configuraciones que deshabilitan todas
las macros cuando termine de trabajar con las macros.
3. En la ficha Programador, en el grupo Código, haga clic en Grabar macro.
4. En el cuadro Nombre de la macro, escriba un nombre para la macro.

CÓMO PROGRAMAR MACROS PARA EXCEL EN VISUAL BASIC 7


Módulo 1: Las Herramientas de Excel

NOTA: El primer carácter del nombre de la macro debe ser una letra. Los caracteres
posteriores pueden ser letras, números o caracteres de subrayado. No pueden usarse
espacios en un nombre de macro; puede utilizarse un carácter de subrayado para
separar palabras. Si utiliza un nombre de macro que también es una referencia de
celda, puede aparecer un mensaje de error indicando que el nombre de la macro no
es válido.
5. Para asignar una combinación de tecla de método abreviado con Ctrl para
ejecutar la macro, en el cuadro Tecla de método abreviado, escriba cualquier
letra en mayúsculas o minúsculas que desee usar.
La tecla de método abreviado invalidará cualquier tecla de método abreviado
predeterminada equivalente en Excel mientras esté abierto el libro que contiene la
macro.
6. En la lista Guardar macro en, seleccione el libro donde desea almacenar la
macro.
Si desea que una macro esté disponible siempre que utilice Excel, seleccione Libro
de macros Personal. Cuando se selecciona Libro de macros Personal, Excel crea un
libro oculto de macros personal (Personal.xlsb), si aún no existe y guarda la macro en
este libro. En Windows 7 y Windows Vista, este libro se guarda en la carpeta de
name\AppData\Local\Microsoft\Excel\XLStart C:\Users\user. En Microsoft Windows
XP, este libro se guarda en la carpeta C:\Documents and Settings\nombre de
usuario\Application Data\Microsoft\Excel\XLStart. Libros en la carpeta XLStart se
abren automáticamente cada vez que inicie Excel. Si desea que una macro en el libro
de macros personal se ejecute automáticamente en otro libro, debe guardar ese libro
en la carpeta XLStart para que ambos libros se abren cuando se inicia Excel.
7. En el cuadro Descripción, escriba una descripción de la macro.
8. Haga clic en Aceptar para iniciar la grabación.
9. Realice las acciones que desee grabar.
10. En la pestaña Programador, en el grupo Código, haga clic en Detener
grabación .
2.1.2. Crear una macro mediante VBA
1. En la pestaña Programador, en el grupo Código, haga clic en Visual Basic.
2. De ser necesario, en el Editor de Visual Basic, en el menú Insertar, haga clic
en Módulo.
NOTA: Se crean módulos automáticamente para todas las hojas del libro.
3. En la ventana de código del módulo, escriba o copie el código de macro que
desea utilizar.

CÓMO PROGRAMAR MACROS PARA EXCEL EN VISUAL BASIC 8


Módulo 1: Las Herramientas de Excel

4. Para ejecutar la macro desde la ventana del módulo, presione F5.


5. En el Editor de Visual Basic, en el menú Archivo, haga clic en Cerrar y volver a
Microsoft Excel cuando termine de escribir la macro.
2.1.3. Copiar parte de una macro para crear otra
1. Abra el libro que contiene la macro que desee copiar.
2. En el grupo Código de la pestaña Programador, haga clic en Macros.
3. En el cuadro Nombre de la macro, haga clic en el nombre de la macro que
desee copiar.
4. Haga clic en Editar.
5. En la ventana de código del Editor de Visual Basic, seleccione las líneas de la
macro que desee copiar.
SUGERENCIA: Para copiar toda la macro, asegúrese de incluir las líneas Sub y End
Sub en la selección.
6. En el menú Edición haga clic en Copiar.
7. En el cuadro Procedimiento de la ventana de código, haga clic en el módulo en
el que desea colocar el código.
8. En el menú Edición haga clic en Pegar.
No puede modificar el archivo de libro de macros personal (Personal.xlsb) porque es
un libro oculto que siempre está abierto. Primero debe mostrarlo con el
comando Mostrar. Para abrirlo en el Editor de Visual Basic, presione Alt+F11.
2.1.4. Asignar una macro a un objeto, gráfico o control
1. En una hoja de cálculo, haga clic con el botón secundario en el objeto, gráfico
o control al que desea asignar una macro existente y, a continuación, haga clic
en Asignar macro.
2. En el cuadro Nombre de la macro, haga clic en la macro que desea asignar.
2.1.5. Eliminar una macro
1. Siga uno de los procedimientos siguientes:
o Abra el libro que contiene la macro que desee eliminar.
o Si la macro que quiere eliminar está almacenada en el Iibro de macros
personal (Personal.xlsb) y este libro se encuentra oculto, proceda de la
siguiente manera para mostrarlo:
i. En la ficha Ver, en el grupo Ventana, haga clic en Mostrar.

CÓMO PROGRAMAR MACROS PARA EXCEL EN VISUAL BASIC 9


Módulo 1: Las Herramientas de Excel

ii. En Mostrar libros, haga clic en PERSONAL y, a continuación,


haga clic en Aceptar.
2. Seleccione el libro que contiene la macro que desea eliminar en la lista Macros
en. Por ejemplo, haga clic en Este libro.
3. En el cuadro Nombre de la macro, haga clic en el nombre de la macro que
desee eliminar.
4. Haga clic en Eliminar.
2.2. Ejecutar Macros
Hay varias formas para ejecutar una macro en Microsoft Excel. Una macro es una
acción o un conjunto de acciones que puede usar para automatizar tareas. Las macros
se graban en el lenguaje de programación de aplicaciones de Visual Basic. Siempre
puede ejecutar una macro haciendo clic en el comando de Macros en la cinta de
opciones (pestañaProgramador, grupo código ). Dependiendo de cómo se asigna una
macro para ejecutar, es posible que pueda ejecutar presionando una combinación de
CTRL tecla de método abreviado, haciendo clic en un botón de la barra de
herramientas de acceso rápido o en un grupo personalizado de la cinta de opciones.
o haciendo clic en un área de un objeto, gráfico o control. Además, puede ejecutar
una macro automáticamente al abrir un libro.
Nota: Al establecer el nivel de seguridad de macros en Excel para Deshabilitar todas
las macros sin notificación, Excel ejecutará sólo las macros firmadas digitalmente o
almacenadas en una ubicación de confianza, como la carpeta de inicio de Excel en el
equipo. Si la macro que desea ejecutar es no firmada digitalmente o ubicada en un
ubicación de confianza, puede cambiar temporalmente el nivel de seguridad que
permite todas las macros.
2.2.1. Antes de ejecutar macros
Es posible que deba modificar algunas opciones de configuración de Excel para poder
ejecutar macros:
1. Si la pestaña Programador no está disponible, haga lo siguiente para mostrarla:
a. Haga clic en la pestaña Archivo, elija Opciones y, a continuación, haga
clic en la categoría Personalizar cinta de opciones.
b. En la lista Fichas principales, active la casilla de
verificación Programador y haga clic en Aceptar.
2. Para establecer el nivel de seguridad de manera que estén habilitadas
temporalmente todas las macros, haga lo siguiente:
a. En la ficha Programador, en el grupo Código, haga clic en Seguridad de
macros.

CÓMO PROGRAMAR MACROS PARA EXCEL EN VISUAL BASIC 10


Módulo 1: Las Herramientas de Excel

b. En la categoría Configuración de macros, en Configuración de macros,


haga clic en Habilitar todas las macros (no recomendado; puede
ejecutarse código posiblemente peligroso) y, a continuación, haga clic
en Aceptar.
Nota: Para ayudar a evitar que se ejecute código potencialmente peligroso,
recomendamos que vuelva a cualquiera de las configuraciones que deshabilitan todas
las macros cuando termine de trabajar con las macros.
Ejecutar la macro
1. Abra el libro que contiene la macro.
2. En la ficha Programador, en el grupo Código, haga clic en Macros.
3. En el cuadro nombre de la Macro, haga clic en la macro que desea ejecutar.

4. Siga uno de los procedimientos siguientes:


a. Para ejecutar una macro en un libro de Excel, haga clic en Ejecutar.
Sugerencia: También puede presionar CTRL+F8 para ejecutar la macro. Puede
interrumpir la ejecución de la macro presionando ESC.
b. Para ejecutar una macro desde un módulo de Microsoft Visual Basic
para Aplicaciones (VBA), haga clic en Editar y, en el menú Ejecutar,
haga clic en Ejecutar Sub/UserFormo presione F5.
2.2.2. Ejecutar una macro presionando una combinación de teclas de método
abreviado con CTRL
1. Si la pestaña Programador no está disponible, haga lo siguiente para mostrarla:
a. Haga clic en la pestaña Archivo, elija Opciones y, a continuación, haga
clic en la categoría Personalizar cinta de opciones.
b. En la lista Fichas principales, active la casilla de
verificación Programador y haga clic en Aceptar.
2. En la ficha Programador, en el grupo Código, haga clic en Macros.

CÓMO PROGRAMAR MACROS PARA EXCEL EN VISUAL BASIC 11


Módulo 1: Las Herramientas de Excel

3. En el cuadro Nombre de la macro, haga clic en la macro a la que desea asignar


una combinación de teclas con CTRL.
4. Haga clic en Opciones.
Aparecerá el cuadro de diálogo Opciones de la macro.
5. En el cuadro Tecla de método abreviado, escriba cualquier letra minúscula o
mayúscula que desee usar.
Nota: La tecla de método abreviado invalidará a cualquier tecla de método abreviado
predeterminada equivalente en Excel mientras esté abierto el libro que contiene la
macro.
6. Escriba una descripción de la macro en el cuadro Descripción.
7. Haga clic en Aceptar para guardar los cambios y, a continuación,
en Cancelar para cerrar el cuadro de diálogo Macro.
2.2.3. Ejecutar una macro haciendo clic en un botón de la barra de herramientas de
acceso rápido
Para agregar un botón a la barra de herramientas de acceso rápido para que ejecute
una macro, haga lo siguiente:
1. Haga clic en la pestaña Archivo, elija Opciones y haga clic en Barra de
herramientas de acceso rápido.
2. En la lista Comandos disponibles en, seleccione Macros.
3. En la lista, haga clic en la macro que creó y, a continuación, en Agregar.
4. Para cambiar la imagen del botón de la macro, seleccione la macro en el cuadro
al que la agregó y haga clic en Modificar.
5. En Símbolo, haga clic en la imagen de botón que desea.
6. Para cambiar el nombre de la macro que aparece al posicionar el cursor sobre
el botón, escriba el nombre que desea en el cuadro Nombre para mostrar.
7. Haga clic en Aceptar para agregar el botón de la macro a la barra de
herramientas de acceso rápido.
8. En la Barra de herramientas de acceso rápido, haga clic en el botón de la macro
que acaba de agregar.

CÓMO PROGRAMAR MACROS PARA EXCEL EN VISUAL BASIC 12


Módulo 1: Las Herramientas de Excel

2.2.4. Ejecutar una macro mediante un botón de un grupo personalizado de la cinta


de opciones
Si aprovecha la capacidad de personalización de la cinta de opciones en Excel 2010,
puede crear un grupo personalizado que aparezca en una ficha de la cinta de opciones
y, a continuación, asignar una macro a un botón de ese grupo. Por ejemplo, puede
agregar un grupo personalizado denominado "Mis macros" a la ficha Programador, y
agregar una macro (que aparece como un botón) al nuevo grupo.
2.2.5. Ejecutar una macro haciendo clic en un área de un objeto gráfico
Puede crear una zona activa en un gráfico donde los usuarios pueden hacer clic para
ejecutar una macro.
1. En la hoja de cálculo, inserte un objeto gráfico, como una imagen, una imagen
prediseñada, una forma o un gráfico SmartArt.
2. Para crear una zona activa en el objeto existente, en la pestaña Insertar, en el
grupo Ilustraciones, haga clic en Formas, seleccione la forma que desea usar
y, a continuación, dibuje dicha forma en el objeto existente.

3. Haga clic con el botón secundario en la zona activa que ha creado y, a


continuación, elija Asignar Macro.
4. Siga uno de los procedimientos siguientes:
o Para asignar una macro al botón u objeto gráfico, haga doble clic en la
macro o escriba el nombre de la misma en el cuadro Nombre de la
macro.
o Para grabar una nueva macro y asignarla al objeto gráfico seleccionado,
haga clic en Grabar, escriba un nombre para la macro en el cuadro de
diálogo Grabar macro y haga clic en Aceptar para comenzar a grabar la
macro. Cuando termine de grabarla, haga clic en Detener
grabación en la ficha Programador del grupo Código.

Sugerencia: También puede hacer clic en Detener grabación en el lado izquierdo


de la barra de estado.
o Para modificar una macro existente, haga clic en el nombre de la macro,
en el cuadro Nombre de la macro y, a continuación, haga clic
en Modificar.
5. Haga clic en Aceptar.

CÓMO PROGRAMAR MACROS PARA EXCEL EN VISUAL BASIC 13


Módulo 1: Las Herramientas de Excel

6. En la hoja de cálculo, seleccione la zona activa. Se mostrarán las herramientas


de Dibujo y se agregará una ficha Formato.
7. En el grupo Formato, en el grupo Estilos de forma, haga clic en la flecha junto
a Relleno de forma y elija Sin relleno.

8. Haga clic en la flecha situada junto a Contorno de forma y, a continuación, haga


clic en Sin contorno.
2.2.6. Configurar una macro para que se ejecute automáticamente al abrirse un libro
Si graba una macro y la guarda con el nombre "Auto_abrir", la macro se ejecutará
cada vez que se abra el libro que contiene la macro. Otra forma de ejecutar
automáticamente una macro al abrir un libro es escribir un procedimiento de VBA en
el evento Open del libro usando el Editor de Visual Basic. El evento Open es un evento
de libro integrado que ejecuta su código de macro cada vez que se abre el libro.
Crear una macro Auto_abrir
1. Si la pestaña Programador no está disponible, haga lo siguiente para mostrarla:
a. Haga clic en la pestaña Archivo y, a continuación, elija Opciones.
b. En la categoría Personalizar cinta, en la lista Pestañas principales, active
la casilla Programador y, a continuación, haga clic en Aceptar.
2. Para establecer el nivel de seguridad de manera que estén habilitadas
temporalmente todas las macros, haga lo siguiente:
a. En la ficha Programador, en el grupo código, haga clic en Seguridad de
macros

.
b. En la categoría Configuración de macros, bajo Configuración de macros,
haga clic en Habilitar todas las macros (no recomendado; puede
ejecutarse código posiblemente peligroso) y, a continuación, haga clic
en Aceptar.
Nota: Para ayudar a evitar que se ejecute código potencialmente peligroso,
recomendamos que vuelva a cualquiera de las configuraciones que deshabilitan todas
las macros cuando termine de trabajar con las macros.

CÓMO PROGRAMAR MACROS PARA EXCEL EN VISUAL BASIC 14


Módulo 1: Las Herramientas de Excel

3. Si desea guardar la macro con un libro determinado, abra primero ese libro.
4. En la pestaña Programador, en el grupo Código, haga clic en Grabar macro.
5. En el cuadro Nombre de la macro, escriba Auto_abrir.
6. En la lista Guardar macro en, seleccione el libro donde desea almacenar la
macro.
Sugerencia: Si desea que una macro esté disponible siempre que utilice Excel,
seleccione Libro de macros Personal. Al seleccionar Libro de macros Personal, Excel
crea un libro oculto de macros personal (Personal.xlsb), si aún no existe y guarda la
macro en este libro. En Windows Vista, este libro se guarda en la carpeta de
name\AppData\Local\Microsoft\Excel\XLStart C:\Users\user. Si no lo encuentra allí, se
puede que haya guardado en la subcarpeta móviles en lugar de Local. En Microsoft
Windows XP, este libro se guarda en la carpeta C:\Documents and Settings\nombre
de usuario\Application Data\Microsoft\Excel\XLStart. Libros en la carpeta XLStart se
abren automáticamente cada vez que inicie Excel. Si desea que una macro en el libro
de macros personal se ejecute automáticamente en otro libro, también debe guardar
libro que en la carpeta XLStart para que ambos libros se abren cuando se inicia Excel.
7. Haga clic en Aceptar y realice las acciones que desea grabar.
8. En la pestaña Programador, en el grupo Código, haga clic en Detener
grabación .
Sugerencia: También puede hacer clic en Detener grabación en el lado izquierdo de
la barra de estado.

Notas:
Si en el paso 6 eligió guardar la macro en Este libro o en Libro nuevo, guarde o mueva
el libro a una de las carpetas XLStart.
La grabación de una macro Auto_abrir tiene las limitaciones siguientes:

 Si el libro en donde se guarda la macro Auto_abrir ya contiene un procedimiento


de VBA en su evento Open, el procedimiento de VBA del
evento Open invalidará todas las acciones contenidas en la macro Auto_abrir.
 Las macros Auto_abrir se omiten cuando se abren libros mediante
programación utilizando el método Open.

CÓMO PROGRAMAR MACROS PARA EXCEL EN VISUAL BASIC 15


Módulo 1: Las Herramientas de Excel

 Una macro Auto_abrir se ejecuta antes de que se abra cualquier otro libro. Por
lo tanto, si graba acciones que desea que realice Excel en el libro
predeterminado Libro1 o en un libro cargado desde la carpeta XLStart, la macro
Auto_abrir producirá un error cuando reinicie Excel porque la macro se ejecuta
antes de abrir los libros de inicio y el predeterminado.

Si encuentra estas limitaciones, en vez de grabar una macro Auto_abrir, debe crear
un procedimiento de VBA para el evento Open.
Si desea iniciar Excel sin ejecutar una macro Auto_abrir, mantenga presionada la tecla
MAYÚS al abrir el programa.
2.2.7. Crear un procedimiento de VBA para el evento Open de un libro
El ejemplo siguiente utiliza el evento Open para ejecutar una macro al abrir el libro.
1. Si la pestaña Programador no está disponible, haga lo siguiente para mostrarla:
a. Haga clic en la pestaña Archivo y, a continuación, elija Opciones.
b. En la categoría Personalizar cinta, en la lista Pestañas principales, active
la casilla Programador y, a continuación, haga clic en Aceptar.
2. Para establecer el nivel de seguridad de manera que estén habilitadas
temporalmente todas las macros, haga lo siguiente:
a. En la ficha Programador, en el grupo código, haga clic en Seguridad de
macros.

b. En la categoría Configuración de macros, bajo Configuración de macros,


haga clic en Habilitar todas las macros (no recomendado; puede
ejecutarse código posiblemente peligroso) y, a continuación, haga clic
en Aceptar.
Nota: Para ayudar a evitar que se ejecute código potencialmente peligroso,
recomendamos que vuelva a cualquiera de las configuraciones que deshabilitan todas
las macros cuando termine de trabajar con las macros.
3. Guarde y cierre todos los libros abiertos.
4. Abra el libro donde desea agregar la macro o cree un nuevo libro.
5. En la pestaña Programador, en el grupo Código, haga clic en Visual Basic.
6. En la ventana Explorador de proyectos, haga clic con el botón secundario en el
objeto ThisWorkbook y, a continuación, haga clic en Ver código.

CÓMO PROGRAMAR MACROS PARA EXCEL EN VISUAL BASIC 16


Módulo 1: Las Herramientas de Excel

Sugerencia: Si la ventana Explorador de proyectos no está visible, en el menú Ver,


haga clic en Explorador del proyecto.
7. En la lista Objeto situada encima de la ventana Código, seleccione Libro.
Esto crea automáticamente un procedimiento vacío para el evento Open como esta:
Workbook_Open (Private Sub)
End Sub
8. Agregue las líneas de código siguientes al procedimiento:
Workbook_Open (Private Sub)
Fecha CuadroMsj
Worksheets("Sheet1"). Range("a1"). Valor = fecha
End Sub
9. Cambie a Excel y guarde el libro como libro habilitado para macros (.xlsm).
10. Cierre y vuelva a abrir el libro. Al abrir de nuevo el libro, Excel ejecuta el
procedimiento Private Sub Workbook_Open, que muestra la fecha actual en un
cuadro de mensaje.
11. Haga clic en Aceptar en el cuadro de mensaje.
Observe que la celda A1 de la Hoja1 también contiene la fecha, como resultado de
ejecutar el procedimiento Private Sub Workbook_Open.

3. Aplicaciones de las macros


Cada día las grandes y pequeñas empresas están descubriendo el poder de utilizar
conjuntamente las macros con Excel, las compañías requieren de programas
informáticos realizados a "medida" de sus necesidades, para gestionar de manera
automática, rápida y eficaz los procesos internos del negocio.
A la vez muchas personas en su trabajo diario realizan tareas repetitivas frente a sus
hojas Excel, desperdiciando días enteros en realizar informes de manera manual los
cuales, con un simple clic a un botón en cuestión de segundos estaría realizado.
Las macros nos permiten automatizar y realizar tareas complejas, aumentando la
eficiencia y eficacia del trabajo.

 Realización de programas a medida, cada empresa posee sus


peculiaridades y características, en muchas ocasiones se adquieren paquetes
de software estandarizado que no cumplen las expectativas iniciales y que
acaban por no aportar una solución real a las necesidades del negocio,

CÓMO PROGRAMAR MACROS PARA EXCEL EN VISUAL BASIC 17


Módulo 1: Las Herramientas de Excel

mediante las macros en Excel cada programa desarrollado se adapta


fácilmente a cada tipo de empresa, proporcionando un versatilidad y flexibilidad
incomparable.

 Rápido y fácil manejo de los programas desarrollados bajo entorno


Excel, cuando la empresa adquiere un software nuevo ha de dedicar cierta
parte de tiempo en adquirir los conocimientos necesarios para el buen manejo
del software, la gran ventaja que nos aporta las macros es que están
desarrolladas bajo Excel, herramienta conocida por una gran público y
extendida en la mayoría de las empresas.

 Realización de tareas y cálculos complejos, en muchas ocasiones


dejamos de utilizar técnicas conocidas para la resolución de problemas, que
nos podrían aportar datos de vital importancia ,por la gran complejidad de
calculo que conllevan , mediante macros en Excel estas tareas y cálculos
pasaran a la historia, realizando la propia hoja Excel el trabajo por nosotros.

 Aumento de eficacia y eficiencia en el trabajo , puesto que reducimos


horas y horas de nuestro trabajo en realizar tareas manuales al convertirlas en
automáticas, ocupando el tiempo ganado en otros asuntos.
 Mediante macros vba podemos crear múltiples aplicaciones que realicen los
cálculos automáticamente y obtengamos resultados en apenas unos segundos.
Las macros vba trabajan en diversos programas, los mas conocidos son los
programas que se incluyen en el paquete Office (Excel ,Word, Access...) pero además
las macros vba también trabajan en diversos programas como SolidWorks, Autocad...
(software creado para el diseño de ingeniería) lo cual proporciona una enorme
versatilidad de utilización, así como una comunicación entre diversos programas.

4. BOTONES DE CONTROL DE FORMULARIOS


PARA EJECUTAR MACROS
Después de crear una macro, puede asignarla a un botón en el que haga clic
para ejecutarla. Puede asignar una macro a un botón de la barra de herramientas de
acceso rápido o a un botón de su propio grupo personal de la cinta de opciones.
Si desea que un botón de macro esté disponible en otros libros, asígnelo a una
macro creada en un libro personal.

CÓMO PROGRAMAR MACROS PARA EXCEL EN VISUAL BASIC 18


Módulo 1: Las Herramientas de Excel

4.1.1. Agregar un botón de macro a la barra de herramientas de acceso rápido


1. Haga clic Archivo > Opciones > Barra de herramientas de acceso rápido.
2. En la lista comandos disponibles en, haga clic en Macros.

3. Seleccione la macro a la que desea asignar un botón.


Un nombre de macro que empiece por el nombre del libro personal
(PERSONAL.XLSB) estará disponible en otros libros.
4. Haga clic en Agregar para mover la macro a la lista de botones de la barra de
herramientas de acceso rápido.
5. Para reemplazar el enigmático icono de macro por un botón diferente para su
macro, haga clic en Modificar.
6. En Símbolo, seleccione un icono de botón para su macro.

1. Para usar un nombre más sencillo para el botón, en el cuadro nombre para
mostrar, escriba el nombre que desee.
Puede introducir un espacio en el nombre del botón.
2. Haga clic dos veces en Aceptar.
El nuevo botón aparece en la barra de herramientas de acceso rápido, donde puede
hacer clic en él para ejecutar la macro.

CÓMO PROGRAMAR MACROS PARA EXCEL EN VISUAL BASIC 19


Módulo 1: Las Herramientas de Excel

SUGERENCIA: Cuando guarde el libro, los botones que asigne a las macros en el
libro personal estarán disponibles en todos los libros que abra.
4.1.2. Agregar una macro a su propio grupo de la cinta de opciones
1. Haga clic en Archivo > Opciones > Personalizar cinta de opciones.
2. En Personalizar la cinta de opciones, en la lista Pestañas principales, active la
casilla Desarrollador si no lo está ya.

3. Elija la pestaña en la que desea agregar su propio grupo.


Por ejemplo, elija Inicio para agregar su grupo a la pestaña Inicio.
4. Seleccione Nuevo grupo.
De este modo, se agregará Nuevo grupo (personalizado) a la pestaña elegida.
5. Para usar un nombre más adecuado para su nuevo grupo, haga clic en Cambiar
nombre, escriba el nombre deseado en el cuadro Nombre para mostrar y haga
clic en Aceptar.
Puede introducir un espacio en el nombre. Por ejemplo, escriba Mis macros.
6. Para agregar una macro al grupo, en la lista comandos disponibles en, haga
clic en Macros.

CÓMO PROGRAMAR MACROS PARA EXCEL EN VISUAL BASIC 20


Módulo 1: Las Herramientas de Excel

7. Seleccione la macro que desea agregar a su nuevo grupo y haga clic


en Agregar. La macro se agrega al grupo Mis macros.
Un nombre de macro que empiece por el nombre del libro personal
(PERSONAL.XLSB) estará disponible en otros libros.
8. Para usar un nombre más sencillo, haga clic en Cambiar nombre y escriba el
nombre deseado en el cuadro Nombre para mostrar.
Puede introducir un espacio en el nombre.
9. En Símbolo, seleccione un icono de botón para su macro.
10. Haga clic dos veces en Aceptar.
Su nuevo grupo aparece en la pestaña elegida, donde puede hacer clic en el botón
para ejecutar la macro.

CÓMO PROGRAMAR MACROS PARA EXCEL EN VISUAL BASIC 21

También podría gustarte