Vous êtes sur la page 1sur 17

Macros

Qu es una Macro

Es un conjunto de instrucciones de cdigo (programado)


que permiten realizar una tarea determinada como as
tambin expandir e incrementar las prestaciones de Excel.

Las macros se escriben en lenguaje de programacin VBA


(Visual Basic for Applications).
reas donde se aplican las macros

Automatizacin de procesos
Creacin de funciones a medida
Creacin de nuevos comandos, complementos y mens
Creacin de aplicaciones a medida
Objetos, propiedades y mtodos

Cuando hablamos de macros hablamos de Objetos, Propiedades y


Mtodos (OPM).

Estos son los 3 conceptos generales ms importantes que debes conocer


a la hora de programar las macros.

Hay un ejemplo muy prctico para comprender lo que son los Objetos,
Propiedades y Mtodos (OPM).
Objetos, propiedades y mtodos

Objetos: Un objeto es algo que puedes ver e identificar con


un nombre.
Propiedades: Las propiedades son las caractersticas de los
objetos.
Mtodos: Un mtodo es una accin que podemos realizar
sobre el objeto o una de sus propiedades.
Objetos, propiedades y mtodos
Supongamos que tenemos una canasta con frutas.

Objetos: los objetos de la canasta seran las frutas (manzanas, naranjas, ).


Propiedades: las propiedades seran las caractersticas de las frutas (color,
olor, sabor, textura).
Mtodos: finalmente los mtodos son las acciones que podramos ejercer
sobre las frutas (comprarlas, venderlas, comerlas, )
Objetos, propiedades y mtodos
Algunos OPM de Excel son:

Objetos: un libro, una hoja, un rango, una celda, un cuadro de


dilogo, las etiquetas de hojas, las columnas, las filas, etc.

Propiedades: alto, ancho, color, bloqueada o desbloqueada, vaca,


con un nmero o con una frmula, etc.

Mtodos: activar, mover, copiar o borrar.


Macros = VBA = OPM

El lenguaje VBA es muy fcil de entender y siempre gira


en torno a seleccionar los objetos, cambiar sus
propiedades y/o ejecutarles distintos mtodos.

La nica particularidad es que el lenguaje VBA solo est


en ingls.
Ejemplos de Objetos VBA
(entre parntesis su significado en espaol)
Cell (celda)
Range (rango)
Worksheet (hoja)
Workbook (libro) Ejemplos de Propiedades VBA
(entre parntesis su significado en espaol)
Value (valor)
Color (color)
Format (formato)

Ejemplos de Mtodos VBA


(entre parntesis su significado en espaol)
Copy (copiar)
Protect (proteger)
Delete (borrar)
Significado de cada lnea de cdigo:
1 lnea: es el comentario de la macro (siempre comienza con el signo ')
2 lnea: es el nombre de la macro (siempre se comienza con Sub)
3 lnea: es la instruccin principal de la macro
4 lnea: es el fin de la macro (siempre termina con End Sub)

' Esta macro escribe la palabra Hola en la celda A1


Sub MiPrimeraMacro()
Range("A1").Value = Hola
End Sub
Mtodos para crear una macro|
Existen 2 mtodos para crear una macro:

Macro grabada
Macro escrita
Sub MiPrimeraMacro()
Sub MiPrimeraMacro() Range("A1").Select
Range("A1").Value=Hola ActiveCell.FormulaR1C1 = Hola"
End Sub Range("A2").Select
End Sub
Insertar un procedimiento.
Un procedimiento es un bloque de instrucciones de cdigo que
sirven para llevar a cabo alguna tarea especfica.

Un procedimiento empieza siempre con la instruccin Sub


Nombre_Procedimiento y termina con la instruccin End Sub
' Esta macro muestra un texto en una ventana emergente
Sub MostrarTexto()
Msgbox Ejercicio de Macros"
End Sub
1 2

Sub Primero () Sub Primero ()


Range("A1").Value = "Hola" ActiveSheet.Range("A1").Value = "Hola"
End Sub End Sub

3 Sub Primero ()
ActiveSheet.ActiveCell.Value = "Hola"
End Sub

4 Sub Primero ()
Application.WorkBooks(1).WorkSheets(1).Range("A1").Value = "Hola"
End Sub
Referencias:
Veamos los diferentes modos de referirnos a libros, hojas y celdas:

Workbook : Libro de trabajo.


ActiveWorkbook : Libro activo
Workbooks(2) : El segundo libro abierto
Workbooks("Libro1.xls") : Llamada al libro de nombre Libro1
Workbooks(milibro) : Llamada a un libro cuyo nombre se encuentra
en una variable llamada 'milibro' (*)

*-Si el nombre del libro se encuentra en una variable, NO lleva comillas


WorkSheet : Hoja de trabajo
ActiveSheet : Hoja activa
Sheets("Enero") : Hoja de nombre 'Enero'
Sheets(3) : Nmero de hoja segn el orden de las pestaas.
[Hoja2] : La 2da hoja segn orden de las pestaas
Range o Cells : Rango o celda * Ntese que mientras en
Range se ingresa la celda en el
Activecell : La celda activa orden Col,Fila, Range("A2"),
en Cells es a la inversa
Range("A2") : La celda A2 Fila,Col, Cells(2,1)
Cells(2,1) : La celda de fila 2 y columna 1 = A2 .
Cells(3,"D") : La celda de fila 3 y col D = D3
Range("A5:B10") : Rango de celdas desde A5 hasta B10 inclusive
Range("E:E") : Columna E
Range("2:2") : Fila 2
[A3] : La celda A3
Range("A" & fila) : Celda de la col A y fila segn valor de variable

Vous aimerez peut-être aussi