Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manual Parte I
Tabla de contenido
Bienvenida................................................................................................................................ 3
1.4. ¿Para qué sirven las macros y en qué ámbito se utilizan? ................................... 6
TELEDUC 2
Bienvenida
Nuestro objetivo, es que al término del curso seas capaz de usar las herramientas de
Programación con macros en Visual Basic para Excel, que permitan reducir los tiempos de
trabajo al procesar los datos de una forma mucho más eficiente y rápida, aprendiendo a
crear programas sencillos, formularios y funciones propias.
TELEDUC 3
Consideraciones
Cabe mencionar que, si trabajas con las versiones anteriores de Microsoft Excel, ya sea
2007 –2010, no debes preocuparte puesto que, aunque encuentres distinto el diseño del
entorno de Microsoft Excel, el trabajo en la ventana de Microsoft Visual Basic es igual que
las versiones anteriores.
En el sitio podrás encontrar una versión en formato pdf de cada módulo o capítulo que
trabajemos, que podrás descargar o imprimir (los videos no son descargables).
TELEDUC 4
Módulo 1: Introducción a la programación de macros y su
interacción con otras aplicaciones de Windows
Para resolver esta necesidad, Microsoft Excel cuenta con un poderoso lenguaje de
programación llamado Visual Basic for Application (VBA), el cual nos permite construir
rutinas que nos den un mayor control sobre el programa. Visual Basic es un lenguaje de
programación muy utilizado por desarrolladores de sistemas, la versión que incluye
Microsft Excel está orientada al trabajo con todos los objetos que contiene la planilla.
Hay tres conceptos generales muy importantes que debes conocer a la hora de programar
las macros:
Objetos: un objeto es algo que puedes ver e identificar con un nombre.
Ejemplos de Objetos VBA: Cell (Celda) - Range (Rango) - Worksheet (Hoja) -
Workbook (Libro) – Application (Aplicación)
Métodos: son acciones que podemos realizar sobre el objeto o una de sus
propiedades.
Ejemplos de Métodos VBA: Copy (Copiar) - Protect (Proteger) - Delete (Borrar)
Macros = VBA = OPM
TELEDUC 5
La única particularidad es que el lenguaje VBA es que solo está disponible en inglés, a
pesar de ello, es muy fácil de entender, ya que siempre gira en torno a seleccionar los
objetos, cambiar sus propiedades y/o ejecutar distintos métodos a los objetos o sus
propiedades.
Se utilizan para:
Automatizar aquellas tareas repetitivas, que a diario demandan tiempo realizarlas.
Crear funciones a medida.
Crear nuevos comandos, complementos y menús.
Crear aplicaciones a medida.
TELEDUC 6
La macro escrita se aboca a incorporar solo las instrucciones que necesita se ejecuten, en
cambio la macro grabación incorpora muchas más líneas de procedimiento, pues
involucra generalmente todos los elementos que un cuadro de diálogo presenta.
Para trabajar Microsoft Excel a nivel de macros, debe estar incorporada en la cinta de
opciones la pestaña desarrollador (en las versiones antiguas de Microsoft Excel se
denominaba programador).
TELEDUC 7
Personalizar barra de herramientas de acceso rápido> Más comandos
Clic con el botón derecho del mouse para activar el menú contextual y allí:
TELEDUC 8
1.5. Creación de macros
Usar referencias absolutas: este tipo de ámbito es el más utilizado, permite que la macro
se ejecute siempre sobre un mismo rango o celda. Es activo por defecto. Al desplazarse a
una celda o rango al grabar la macro, la primera instrucción que se graba permite que la
macro quede con referencia absoluta.
En el caso de escribir el código directo en Microsoft Visual Basic, la primera instrucción
debe hacer referencia al rango a trabajar, igual que se crea cuando se graba, por ejemplo:
Range(“A1:A9”).Select.
Usar referencias relativas: este tipo de ámbito se utiliza para que la macro se ejecute
sobre cualquier rango o celda seleccionada. Para usar este tipo, se debe activar el botón
Usar referencias relativas, desde el grupo Código situado en la pestaña Desarrollador.
TELEDUC 9
El ideal es activar este botón, antes de empezar a grabar la macro.
A diferencia del caso anterior, al grabar la macro usando referencias relativas, la primera
instrucción que se graba comienza con la palabra Active asociado al objeto a trabajar. En
el caso de escribir el código directo en Visual Basic, la primera instrucción debe ser igual
que cuando se graba. Por ejemplo:
ActiveCell.Range("A1:A9").Select.
TELEDUC 10
1.6. Grabar macros
Para crear macros Microsoft Excel cuenta con una herramienta, que no requiere
conocimientos respecto del lenguaje de programación, que es la grabadora de macros.
Ésta permite guardar cada acción que se realiza en Microsoft Excel, tal como si se grabase
un video. A fin de no realizar acciones innecesarias mientras se realiza la grabación, lo
ideal es planear con antelación los pasos a grabar.
Hay varias formas de acceder a la grabadora de macros:
TELEDUC 11
Si esta herramienta no está disponible, puede activarla dando clic con el botón derecho
del mouse sobre la Barra de estado.
Al grabar una macro, lo que debe tener en cuenta es el nombre que se le asignará y la
ubicación donde quedará guardada.
Cabe mencionar que los nombres de macros no llevan espacios en blanco ni caracteres
especiales y de preferencia no llevan tildes; si desea colocar un nombre compuesto debe
reemplazar el espacio por guion bajo (por ejemplo, Formato_Titulo), o el nombre sin
espacio (por ejemplo, FormatoTitulo)
El nombre de la macro no puede ser una palabra reservada, entendiéndose como todas
aquellas que son propias del lenguaje (Sub, For, Next, GoTo, etc.). Tampoco puede exceder
los 64 caracteres, en el caso de las macros escritas directamente en el Editor de Microsoft
Visual Basic el nombre puede tener una extensión de 255 caracteres.
Se recomienda utilizar el siguiente estilo de escritura para los nombres de las macros.
TELEDUC 12
Ejemplos:
CrearFormatoCeldas
ElegirFuente
AgrandarColumna
Los pasos para grabar macros en el Libro de macros personal son los siguientes:
TELEDUC 13
Si al momento de grabar la macro, no incorpora Tecla de método abreviado y desea
agregarla posteriormente puede acceder a ella a través de la opción:
TELEDUC 14
Ver código de una macro del libro de macros Personal: si queremos ver el código que hay
detrás de una macro almacenada en el Libro de macros personal debemos realizar el
siguiente procedimiento:
TELEDUC 15
de oculto. Por esta razón, es usado como bodega de todas las macros asociadas a la
aplicación y no está asociado al archivo abierto.
Nota: Cuando cierre Microsoft Excel, el programa le preguntará si graba los cambios en el
libro de macros Personal. Debe responder según su necesidad.
Grabar macros en Este Libro o en Libro Nuevo: la opción de Grabar macros en Este Libro
o en Libro Nuevo, permite que los procedimientos se almacenen directamente en el
archivo de trabajo, y que éstas se encuentren disponibles para ser usadas cuando el
archivo esté abierto. Por lo tanto, las macros solo funcionan en el libro que las contiene y
están disponibles para ser usadas en cualquier computador donde abra el archivo, a
diferencia de las macros grabadas en el libro de macros personal, que quedan
almacenadas en el computador donde fueron creadas.
Los pasos para grabar macros en Este Libro son los mismos descritos en el punto
anterior, pero debe ser guardado el procedimiento en el libro de trabajo:
TELEDUC 16
1.7. Ejecutar macros
TELEDUC 17
1.8. Editor de Microsoft Visual Basic
TELEDUC 18
A través de este programa podrá insertar Procedimientos, Formularios (UserForm),
Módulos y Módulos de clase. También, podrá revisar, modificar y eliminar procedimientos
ya creados.
Los módulos son el lugar donde Microsoft Visual Basic almacena el código de las macros,
ya sean grabadas o escritas, y pueden contener varias macros.
TELEDUC 19
3. Clic con el botón derecho del
mouse sobre el VBA Project del
libro que esté trabajando,
Las macros grabadas en un módulo se pueden ejecutar en cualquier hoja del libro donde
fueron creadas o en cualquier hoja de otro libro mientras el libro que las contiene esté
abierto.
Los Módulos se generan por sesión, lo que significa que si usted ingresa a Microsoft Excel
y crea macros en un archivo todas las macros creadas en esa sesión quedarán en el
mismo módulo, pero si usted cierra el archivo para luego volverlo a abrir y después crea
una macro, ésta y las macros posteriores se guardarán en este nuevo Módulo.
Es ideal que a cada módulo creado se le asigne un nombre para identificar que
procedimientos tiene creados dentro de él.
Para cambiar el nombre al módulo debe:
Nota: Microsoft solo permite caracteres alfanuméricos y guiones para asignar nombres al
módulo, y siempre el primer carácter debe ser una letra. Un nombre de módulo puede
contener como máximo 31 caracteres.
También puede mostrar la Ventana Propiedades presionando la tecla F4, o al hacer clic en
el botón Ventana de Propiedades de la barra de herramientas.
TELEDUC 21
Eliminar Módulo en VBA: para eliminar un módulo debe:
TELEDUC 22
Edición de una macro: a continuación, examinaremos el código de la macro.
Sub - Palabra reservada con la cual comienzan todas las macros, Sub significa
Subrutina o Sub procedimiento, por cada Sub debe haber un End Sub que indica el
final de la subrutina.
With – Esta sentencia se usa para abreviar código, de manera de que la macro sea
más rápida y más legible. Para no escribir cada vez una instrucción, por ejemplo
Selection.Font.Name – Selección.Font.Size, Visual Basic abrevia colocando esta
sentencia. Por cada With debe haber un End With.
TELEDUC 23
Al realizar la grabación de macros, si usted se dirige a un cuadro de diálogo, la macro
traduce a código todo lo que encuentra en la pestaña del cuadro de diálogo usado.
Modificación de macros: este código adicional se puede borrar, con lo que se logra que la
macro sea más legible y se ejecute más rápidamente ya que no tiene que leer tantas
líneas. Existen instrucciones que aparecen después de la grabación, que para el fin con
que fue creada la macro, no son importantes.
Para borrar las líneas de procedimiento, debe seleccionar el elemento y presionar la tecla
Supr (Suprimir).
TELEDUC 24
Incorporar líneas de procedimiento: para incorporar líneas de procedimiento nuevas, debe
situarse con el cursor en la zona donde desea implementar la nueva acción a ejecutar y
digitar las nuevas instrucciones.
TELEDUC 25
1.10. Asociación de macros a Barra de Herramientas
Anteriormente hemos ejecutado las macros, usando métodos abreviados y con el menú
ejecutar macros. Éstas también pueden ser asociadas a un botón de la barra de
herramienta de acceso rápido directamente desde Microsoft Excel.
Para incorporar la macro en la barra de herramientas debe:
Activar el libro que contiene la macro a la cual se asociará un botón. Si la macro
está en el libro de macros Personal, no es necesario que esté visible.
Vaya a la pestaña Archivo> clic en el botón Opciones.
También, puede acceder a esta opción al hacer clic con el botón derecho del mouse sobre
la cinta de opciones, personalizar barra de herramientas de acceso rápido.
TELEDUC 26
2. Vaya al cuadro combinado Comandos disponibles en y seleccione la opción
Macros.
3. Seleccione, del panel de la izquierda, la macro que quiere colocar en la barra de
acceso rápido y dé un clic en el botón Agregar.
4. Dé un clic en el botón Modificar y elija una imagen para colocar en el botón.
TELEDUC 27
Para eliminar la macro en la barra de herramientas, puede realizar la acción de dos formas
distintas:
a) Puede acceder a este mismo cuadro de diálogo, seleccionar del panel de la derecha
el elemento a eliminar y activar la opción Quitar.
b) Puede hacer clic con el botón derecho del mouse sobre el ícono en la barra de
herramientas de acceso rápido y Eliminar.
TELEDUC 28
1.11. Asociación de macros a Cinta de Opciones
Puede crear pestañas personalizadas y grupos personalizados que incluyan los comandos
que usa con mayor frecuencia, y en este caso las macros creadas.
TELEDUC 29
2. Solo se pueden agregar comandos a grupos personalizados.
TELEDUC 30
4. Seleccione el nuevo grupo y de un clic en el botón Cambiar Nombre y en la opción
Nombre para mostrar escriba el texto que quiere visualizar en el grupo. Dé un clic
en el botón Aceptar.
TELEDUC 31
Para agregar macros a cinta de Opciones:
Vaya a la pestaña Archivo.
A continuación, ir a Comandos disponibles en
Seleccionar de la lista la opción Macros
Seleccione la macro a agregar como comando en el grupo de opciones.
TELEDUC 32
Finalmente, en la ventana principal se apreciará la Nueva Pestaña
Personalizada, el grupo personalizado y los comandos de macros adosados a
esta cinta de opciones. Al hacer clic sobre uno de estos botones se ejecutará
la macro asociada.
TELEDUC 33
1.12. Macros complejas
División en macros sencillas: Al crear macros, se puede dar el caso que están se vuelvan
bastante complejas por la cantidad de procedimientos asociados a ellas, por este motivo
es recomendable dividir las macros en procedimientos más pequeños.
Macro Principal: Se habla de Macro Principal, a aquella macro que tiene dentro de ella
todos los procedimientos a ejecutar. Estos procedimientos pueden estar creados como
una sola macro línea por línea, o bien puede hacer llamado a otras macros que se
consideran como macros subordinadas o submacros.
Puede usar la instrucción Call, desde un procedimiento Sub para organizar otros
procedimientos y que de esta forma sea más fácil de comprender y de depurar.
TELEDUC 34
1.13. Compartir macros
Si desea copiar las macros del libro personal a otro libro o viceversa, puede hacerlo en el
Editor de Microsoft Visual Basic (VBE).
Puede iniciar el Editor de Microsoft Visual Basic en Microsoft Excel, presione ALT + F11.
TELEDUC 35
3. Ingrese el nombre del Archivo y Guardar.
4. Para incorporar el módulo en el otro archivo debe hacerlo a través del menú
Archivo - Importar archivo…
TELEDUC 36
5. Seleccione el nombre del Archivo y Abrir.
TELEDUC 37
1.14. Interacción con otras aplicaciones de Windows a través de macros
Con macro grabación o macros escritas, puede interactuar con distintas aplicaciones de
Windows.
TELEDUC 38