Está en la página 1de 6

MACROS EN MICROSOFT EXCEL

Es posible que en alguna ocasión te hayas encontrado Esas acciones que haces repetidas veces se podrían
ejecutando una misma serie de acciones una y otra vez. automatizar con una macro.
Por ejemplo, si todas las mañanas creas un reporte de Una macro es un conjunto de comandos que se
ventas y en ese reporte siempre das el mismo formato almacena en un lugar especial de Microsoft Office de
a los textos, se podría crear una macro para que lo haga manera que están siempre disponibles cuando los
automáticamente por ti. necesites ejecutar.

Un lenguaje de programación
Las macros se escriben en un lenguaje de computadora especial que es conocido como Visual Basic for
Applications (VBA). Este lenguaje permite acceder a prácticamente todas las funcionalidades de Excel y con ello
también ampliar la funcionalidad del programa.

Sub MiPrimeraMacro () No se necesita ser un programador de computadoras,


MsgBox “Hola a tod@s” Microsoft Office provee de una herramienta especial que
End Sub permite crear una macro sin necesidad de conocer los
detalles del lenguaje de programación.

Lo que toma un poco más de tiempo es pulir nuestras


Automatización de tareas habilidades de programación. Lo que quiero decir con
La automatización, en el ámbito industrial, trajo
esto es que para ser un buen programador de macros
beneficios como mayor eficiencia y productividad de
debes dedicar tiempo en resolver múltiples problemas
las plantas y un mejor aprovechamiento del tiempo del
en donde puedas llevar al límite el lenguaje VBA.
personal al reducir la cantidad de tareas repetitivas que
realizaban.
De la misma manera las macros nos ayudan a eliminar Creación de una macro
esas tareas repetitivas de nuestro trabajo cotidiano. Las macros se crean con el Editor de Visual Basic el
cual nos permitirá introducir el código con las
instrucciones que serán ejecutadas por la macro.
¿Cómo se ve una macro en Excel? Existe otro método que es utilizar la Grabadora de
Las macros son escritas en un lenguaje de computadora
macros la cual irá grabando todas las acciones que
conocido como VBA por sus siglas en inglés (Visual
realicemos en Excel hasta que detengamos la
Basic for Applications). Como cualquier otro lenguaje
grabación. Una vez grabada la macro podremos
de computadora debemos aprender a utilizar los
“reproducir” de nuevo las acciones con tan solo un clic.
comandos que nos ayudarán a indicar a Excel lo que
Ahora que ya sabes para qué sirve una macro en
deseamos hacer con nuestros datos.
Excel puedes dar los primeros pasos en este camino
Aprender el lenguaje VBA no es nada complicado y se
utilizando el tutorial Introducción a las macros.
puede lograr fácilmente.

Mostrar la ficha Programador Acepta los cambios y la ficha se mostrará en la cinta de


opciones.
Para escribir una nueva macro se debe habilitar la
ficha Programador dentro de la cinta de opciones. Grupos de la ficha Programador
Para ello, siga los siguientes pasos. El grupo Código tienes los comandos necesarios para
Haz clic en la ficha Archivo y elige la sección iniciar el Editor de Visual Basic donde se puede
Opciones. Se mostrará el cuadro de diálogo Opciones escribir directamente código VBA. También nos
de Excel donde deberás seleccionar la opción permitirá ver la lista de macros disponibles para poder
Personalizar cinta de opciones. ejecutarlas o eliminarlas. Y no podríamos olvidar
En el panel de la derecha deberás asegurarte de mencionar que en este grupo se encuentra el comando
seleccionar la ficha Programador. Grabar macro el cual nos permite crear una macro sin
necesidad de saber sobre programación en VBA.
ING. CÉSAR CÉPEDA C. cesar_cepedac@hotmail.com
MACROS EN MICROSOFT EXCEL

El grupo Complementos nos permite administrar y serán de gran utilidad para ampliar la funcionalidad de
habilitar complementos como el Solver. Excel.
El grupo Controles incluye funcionalidad para agregar El grupo XML permite importar datos de un archivo
controles especiales a las hojas de Excel como los XML así como opciones útiles para codificar archivos
controles de formulario que son botones, casillas de XML. Finalmente el grupo Modificar solamente
verificación, botones de opción entre otros más que contiene el comando Panel de documentos.


La grabadora de macros •
Este libro. Guarda la macro en el libro actual.
Libro nuevo. La macro se guarda en un libro
Puedes crear una macro utilizando el lenguaje de nuevo y que pueden ser ejecutadas en cualquier libro
programación VBA, pero el método más sencillo es creado durante la sesión actual de Excel.
utilizar la grabadora de macros que guardará todos los • Libro de macros personal. Esta opción permite
pasos realizados para ejecutarlos posteriormente. utilizar la macro en cualquier momento sin importar el
La grabadora de macros almacena cada acción que se libro de Excel que se esté utilizando.
realiza en Microsoft Office, por eso es conveniente También puedes colocar una Descripción para la
planear con antelación los pasos a seguir de manera que macro que vas a crear. Finalmente debe pulsar el botón
no se realicen acciones innecesarias mientras se realiza Aceptar para iniciar con la grabación de la macro. Al
la grabación. terminar de ejecutar las acciones planeadas deberás
pulsar el botón Detener grabación para completar la
La lista de opciones Guardar macro en permite macro.
seleccionar la ubicación donde se almacenará la macro.

Programando en VBA También hay propiedades que indican su estado actual


como por ejemplo gasolina disponible, temperatura del
aceite, velocidad, kilómetros recorridos entre otras
Principios fundamentales propiedades más. Podemos decir que las propiedades
La programación en VBA puede ser un tanto
de un objeto nos ayudan a describirlo mejor en todo
misteriosa para la mayoría de los usuarios de Microsoft
momento.
Office, sin embargo una vez que se comprenden los
Por otro lado tenemos los métodos de un objeto que en
principios básicos de programación en VBA se
resumen son las acciones que podemos realizar con
comenzarán a crear soluciones robustas y efectivas.
dicho objeto. Por ejemplo, con nuestro auto podemos
El primer concepto importante a entender es que cada
hacer lo siguiente: encenderlo, avanzar, vuelta a la
elemento de Excel es representado en VBA como un
izquierda, vuelta a la derecha, reversa, detener, apagar,
objeto. Por ejemplo, existe el objeto Workbook que
etc. Todas las acciones que se pueden llevar a cabo con
representa a un libro de Excel. También existe el objeto
un objeto son conocidas como métodos.
Sheet que representa una hoja y el objeto Chart para
Volviendo al terreno de Excel, el objeto Workbook
un gráfico.
tiene propiedades como ActiveSheet (Hoja activa),
El segundo concepto importante a entender es que cada
Name (Nombre), ReadOnly (Solo Lectura), Saved
uno de estos objetos tiene propiedades y métodos.
(Guardado) y algunos de sus métodos son Save
Para explicar mejor este concepto utilizaré una
(Guardar), Close (Cerrar), PrintOut (Imprimir),
analogía.
Protect (Proteger), Unprotect (Desproteger).
Propiedades y Métodos Será dificil mencionar todos los objetos de Excel y sus
Supongamos que tenemos el objeto auto. Así es, un propiedades aquí, pero lo importante a recordar en esta
auto como el que manejamos todos los días para ir al ocasión es que cada elemento de Excel está siempre
trabajo. Este auto tiene varias propiedades como son: representado por un objeto en VBA y cada objeto tiene
marca, modelo, color, tipo de transmisión las cuales a su vez propiedades y métodos que nos permitirán
ayudan a describir mejor al auto. trabajar con nuestros datos.

ING. CÉSAR CÉPEDA C. cesar_cepedac@hotmail.com


MACROS EN MICROSOFT EXCEL

El Editor de Visual Basic El Explorador de proyectos también nos ayuda a crear


o abrir módulos de código que se serán de gran
utilidad para reutilizar todas las funciones de código
El Editor de Visual Basic, VBE por sus siglas en VBA que vayamos escribiendo.
inglés, es un programa independiente a Excel pero
fuertemente relacionado a él porque es el programa Dentro del Editor de Visual Basic puedes observar
que nos permite escribir código VBA que estará una ventana llamada Inmediato que está en la parte
asociado a las macros. inferior. Esta ventana es de mucha ayuda al momento
de escribir código VBA porque permite introducir
Existen al menos dos alternativas para abrir este instrucciones y observar el resultado inmediato.
editor, la primera de ellas es a través del botón Visual Además, desde el código VBA podemos imprimir
Basic de la ficha Programador. mensajes hacia la ventana Inmediato con el comando
Debug.Print de manera que podamos depurar nuestro
l segundo método para abrir este programa es, en mi código. Si no puedes observar esta ventana puedes
opinión, el más sencillo y rápido y que es a través del mostrarla también desde el menú Ver.
atajo de teclado: ALT + F11.
El Editor de Visual Basic contiene varias ventanas y El área más grande en blanco es donde escribiremos
barras de herramientas. el código VBA. Es en esa ventana en donde
escribimos y editamos las instrucciones VBA que dan
En la parte izquierda se muestra el Explorador de forma a nuestras macros.
proyectos el cual muestra el proyecto VBA creado
para el libro actual y además muestra las hojas Es importante familiarizarnos con el Editor de
pertenecientes a ese libro de Excel. Si por alguna Visual Basic antes de iniciar con la creación de
razón no puedes visualizar este módulo puedes macros.
habilitarlo en la opción de menú Ver y seleccionando
la opción Explorador de proyectos.

que el módulo está abierto porque su nombre se muestra

Tu primera macro con en el título entre corchetes.

VBA
Ahora que ya sabes lo que es el Editor de Visual
Basic para Aplicaciones puedo mostrarte un ejemplo
muy sencillo para crear una macro. Lo primero que
debes hacer es ir a la ficha Programador y hacer clic
en el botón Visual Basic.

Creación de un módulo en VBA


Una vez dentro del Editor debes hacer clic derecho
sobre el título del proyecto y dentro del menú
seleccionar la opción Insertar y posteriormente
Módulo.

Se creará la sección Módulos y dentro de la misma


se mostrará el módulo recién creado. Puedes saber
ING. CÉSAR CÉPEDA C. cesar_cepedac@hotmail.com
MACROS EN MICROSOFT EXCEL

Si el módulo no está abierto solamente deberás


hacer doble clic sobre él. Posiciónate en el área
de código e introduce las siguientes
instrucciones:

Ejemplo1
Sub Saludo()
MsgBox “Hola a todos en el SENATI”
End Sub

Ejemplo2
Posiciónate en el área de código de un segundo módulo e introduce las siguientes instrucciones:
Sub Comprobantes()
Sheets("Hoja2").Select
ActiveCell.Offset(0, 0) = "COMPROBANTES DE PAGO"
ActiveCell.Offset(1, 0) = "Facturas"
ActiveCell.Offset(2, 0) = "Boletas de Venta"
ActiveCell.Offset(3, 0) = "Recibos por Honorarios"
ActiveCell.Offset(4, 0) = "Tickets"
ActiveCell.Offset(5, 0) = "Recibos"
End Sub

Ejemplo 3:
Sub ProgramaSuma()
Dim n1 As Integer, n2 As Integer
n1 = InputBox("Escribe un número")
n2 = InputBox("Escribe otro número")
‘El Programa 4 sirve para sumar dos números:
‘el programa nos pedirá los dos números (InputBox) y ‘nos dará (MsgBox) el resultado de sumarlos.
‘Los dos números a sumar son las variables n1 y n2
MsgBox "La Suma es = " & n1 + n2
End Sub

ING. CÉSAR CÉPEDA C. cesar_cepedac@hotmail.com


MACROS EN MICROSOFT EXCEL

Ejemplo4
Sub ProgramaSuma()
Dim n1 As Integer
Dim n2 As Integer
n1 = InputBox("Escribe un número")
n2 = InputBox("Escribe otro número")
MsgBox "La Suma es = " & n1 + n2
End Sub

Ejemplo5
Posiciónate en el área de código de un segundo módulo e introduce las siguientes instrucciones:
Sub RegistrosContables()
Sheets("Hoja3").Select
With ActiveCell
.Offset(0, 0) = "REGISTROS CONTABLES"
.Offset(1, 0) = "Registro de Ingresos y Egresos"
.Offset(2, 0) = "Registro de Ventas"
.Offset(3, 0) = "Registro de Compras"
.Offset(4, 0) = "Registro de Cuentas por Pagar"
.Offset(5, 0) = "Registro de Cuentas por Cobrar"
.Offset(6, 0) = "Registro de Existencias"
.Offset(7, 0) = "Libro de Planillas"
End With
End Sub

Otros Ejemplos
Posiciónate en el área de código de un nuevo módulo e introduce las siguientes instrucciones:

Sub ProgramaSumaDec() Sub ProgramaTriangulo()


Dim n1 As Double Dim base As Double
Dim n2 As Double Dim altura As Double
Dim Rpta As Double Dim area As Double
‘La instrucción: Dim n1 As Double, n2 As Double base = InputBox("¿Cuál es la base del triángulo?")
‘Significa que declaramos las variables n1 y n2 altura = InputBox("¿Cuál es la altura del
‘como números decimales. triángulo?")
n1 = InputBox("Escribe un número") area = base * altura / 2
n2 = InputBox("Escribe otro número") MsgBox "El área del triángulo es " & area
Rpta = n1+n2 End Sub
MsgBox "La Suma es = " & Rpta
End Sub Sub ProgramaName()
Rem Programa que nos pide nuestro nombre
Dim nombre As String
'El tipo "String" significa texto
nombre = InputBox("Escribe tu nombre y
apellidos")
MsgBox "Hola " & nombre
End Sub

ING. CÉSAR CÉPEDA C. cesar_cepedac@hotmail.com


MACROS EN MICROSOFT EXCEL

TAREA
Genere un programa que me permita sacar el promedio
de 4 puntajes.
 Primero me salude
 Luego me solicite mi Nombre
 Luego me dé la bienvenida con mi nombre
 Luego me solicite cada una de mis 4 notas o puntos.
 Luego me brinde en una última ventana cual es mi promedio final.

ING. CÉSAR CÉPEDA C. cesar_cepedac@hotmail.com

También podría gustarte