Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MACROS
Contenido
INTRODUCCIN A LAS MACROS......................................................................1
Introduccin a las macros................................................................................... 2
Qu es una macro de Excel?............................................................................ 3
Un lenguaje de programacin..........................................................................3
Para qu sirve una macro en Excel......................................................................4
Automatizacin de tareas................................................................................ 4
Cmo se ve una macro en Excel?...................................................................5
Creacin de una macro................................................................................... 5
Mostrar la ficha Programador.............................................................................. 6
Mostrar la ficha Programador en Excel 2010......................................................6
Grupos de la ficha Programador.......................................................................7
La grabadora de macros..................................................................................... 8
La grabadora de macros en Excel 2010.............................................................8
Crear una macro............................................................................................. 10
El cdigo de la Grabadora de macros.................................................................12
Establecer seguridad de macros........................................................................15
PROGRAMACIN........................................................................................... 17
Programando en VBA...................................................................................... 17
Principios fundamentales............................................................................... 17
Propiedades y Mtodos................................................................................. 17
Cadenas de texto en VBA................................................................................. 18
Unir cadenas de texto................................................................................... 19
La funcin Left............................................................................................. 19
La funcin Right........................................................................................... 20
La funcin Len............................................................................................. 21
La funcin InStr............................................................................................ 21
La funcin Mid............................................................................................. 22
La declaracin If-Then en VBA..........................................................................23
Ejemplo de la declaracin If-Then...................................................................24
La declaracin If-Then-Else........................................................................... 24
Acceder celdas con VBA.................................................................................. 26
Seleccionar una celda................................................................................... 26
Seleccionar un rango.................................................................................... 26
Establecer el valor de una celda.....................................................................26
Ventaja del objeto Cells................................................................................. 27
Qu es una macro de
Excel?
Si utilizas Excel frecuentemente es posible que en alguna ocasin te
hayas encontrado ejecutando una misma serie de acciones una y otra
vez. Esas acciones que haces repetidas veces se podran automatizar
con unamacro.
Una macro es un conjunto de comandos que se almacena en un lugar
especial de Excel de manera que estn siempre disponibles cuando
los necesites ejecutar.
Por ejemplo, si todas las maanas creas un reporte de ventas y en
ese reporte siempre das el mismo formato a los textos, se podra crear
una macro para que lo haga automticamente por ti. Las macros se
utilizan principalmente para eliminar la necesidad de repetir los pasos
de aquellas tareas que realizas una y otra vez.
Un lenguaje de programacin
Las macros se crean con el Editor de Visual Basic el cual nos permitir
introducir el cdigo con las instrucciones que sern ejecutadas por la
macro.
Mostrar
la
Programador
ficha
permite
administrar
habilitar
La grabadora de macros
Puedes crear una macro utilizando el lenguaje de programacin VBA,
pero el mtodo ms sencillo es utilizar lagrabadora de macros que
guardar todos los pasos realizados para ejecutarlos posteriormente.
La grabadora de macros en Excel 2010
Artculos relacionados
El cdigo de la Grabadora
de macros
Una manera muy interesante de descubrir y aprender ms sobre
cdigo VBA es analizar el cdigo generado por la Grabadora de
macros. Para este ejemplo grabaremos una macro muy sencilla que
solamente cambie el color de la fuente de la celda actual.
Establecer
macros
seguridad
de
Programando en VBA
Excel 2010 es una de las herramientas de software ms poderosas
para el manejo, anlisis y presentacin de datos. Aun y con todas sus
bondades, en ocasiones Excel no llega a suplir algunas necesidades
especficas de los usuarios.
Afortunadamente Excel cuenta con VBA que es un lenguaje de
programacin que permite extender las habilidades del programa para
cubrir nuestros requerimientos. Utilizando VBA se pueden desarrollar
nuevos algoritmos para analizar la informacin o para integrar a Excel
con alguna otra aplicacin como Microsoft Access.
Principios fundamentales
La funcin Left
La funcin Right
La funcin Len
La funcin InStr
"Hola
Mundo"
La declaracin If-Then en
VBA
En ocasiones necesitamos ejecutar algunas lneas de cdigo de
nuestra macro solamente cuando alguna condicin se haya cumplido.
La declaracin If-Then nos permite validar una condicin para tomar
una decisin adecuada.
La sentencia If-Then en VBA es la ms bsica de todas las
declaraciones de control de flujo que son aquellas declaraciones que
nos permiten tomar decisiones en base a una condicin. Esta
La declaracin If-Then-Else
500
For
Cells(i,
j).Value
To
1
=
10
To
i
5
*
Next
j
j
Next i
For inicializacin
{Conjunto
de
de
instrucciones
variable To lmite
que
se
repetirn}
Operadores
VBA
lgicos
en
Eventos en VBA
Los eventos en VBA nos ayudan a monitorear las acciones que
realizan los usuarios en Excel de manera que podamos controlar la
accin a tomar cuando el usuario hace algo especfico como el activar
una hoja o hacer clic en alguna celda.
Ejemplos de eventos en VBA
Arreglos en VBA
Los arreglos en VBA pueden ser entendidos como un grupo de
variables contenidas dentro de otro repositorio. Dentro de un arreglo
podemos referirnos a un valor especfico (elemento) utilizando su
posicin (ndice).
Para comprender mejor lo que es un arreglo observa la siguiente
imagen:
Paises(1)
"Argentina"
Paises(2)
"Colombia"
Paises(3)
"Espaa"
Paises(4)
"Mxico"
Paises(5) = "Per"
Artculos
Variables
Cadenas de texto en VBA
en
relacionados
VBA
1. Victor Luna
Hay arreglos bidimensionales?
1. Moiss Ortz Autor
Hola Vctor, por supuesto que hay arreglos
bidimensionales en VBA, los puedes declarar de la
siguiente
manera:
Dim Arreglo2D(2,2)
El resultado es el siguiente:
Ya hemos visto que la funcin Date nos devuelve la fecha actual, pero
podemos utilizar otra funcin que nos permitir convertir una cadena
de texto en una fecha. La funcin que utilizaremos para este ser la
funcin DateValue.
Funciones VBA
El lenguaje de programacin VBA contiene un nmero considerable
de funciones que podemos utilizar para construir cdigo en Excel.
Cuando ests escribiendo cdigo, puedes introducir la palabra VBA
seguida de un punto y vers una lista desplegable de estas funciones.
La siguiente tabla provee una descripcin breve de algunas de
las funciones VBA ms utilizadas.
FUNCIN
DESCRIPCIN
Abs
Asc
CBool
CByte
CCur
CDate
CDbl
CDec
Choose
Chr
CInt
CLng
CreateObject
CStr
CurDir
CVar
Date
DateAdd
especificada
DateDiff
DatePart
DateSerial
DateValue
Day
Dir
EOF
FileDateTime
FileLen
FormatCurrency
FormatPercent
Hour
IIf
InputBox
InStr
InStrRev
de
la
ltima
Int
IsDate
IsEmpty
IsError
IsNull
IsNumeric
Join
LCase
Left
Len
LTrim
Mid
Minute
Month
MsgBox
Now
Replace
Space
espacios especidicados
Split
Str
Right
Rnd
Round
RTrim
Second
StrComp
StrReverse
Time
Timer
TimeValue
Trim
TypeName
UCase
Val
Weekday
WeekdayName
Year
Retornando el valor
Controles de formulario en
Excel
Los controles de formulario en Excel son objetos que podemos
colocar dentro de una hoja de nuestro libro, o dentro de un formulario
de usuario en VBA, y nos darn funcionalidad adicional para
interactuar mejor con los usuarios y tener un mejor control sobre la
informacin.
Casilla de verificacin en
VBA
Una casilla de verificacin es un control ActiveX que podemos
utilizar para permitir que un usuario marque una opcin y por lo tanto
poder conocer sus preferencias al verificar dicho valor en cdigo VBA.
El control ActiveX casilla de verificacin
Sub
CheckBox1_Click()
=
CheckBox1.Value
End Sub
If
CheckBox1.Value
True
Then
Range("C4").Value
La propiedad Caption
De manera predeterminada Excel colocar el botn de opcin con un
nombre como OptionButton1. Para cambiar este texto debemos editar
la propiedad Caption del botn de opcin.
Formularios en VBA
Los formularios en VBA no son ms que un cuadro de dilogo de
Excel donde podremos colocar controles que nos ayudarn a solicitar
informacin del usuario. Podremos colocar cajas de texto, etiquetas,
cuadros combinados, botones de comando, etc.
Crear un formulario en Excel
Sub
CommandButton2_Click()
Unload
Me
End Sub
Para agregar este cdigo puedes hacer doble clic sobre el control. La
sentencia Unload Me cerrar elformulario.
Cdigo para el botn Aceptar
Sub
CommandButton1_Click()
Worksheets("Hoja1").Range("A1").Value
Me.TextBox1.Value
Worksheets("Hoja1").Range("B1").Value
Me.TextBox2.Value
Worksheets("Hoja1").Range("C1").Value
Me.TextBox3.Value
End Sub
Sub
CommandButton1_Click()
UserForm1.Show
End Sub
Probar el formulario