Beruflich Dokumente
Kultur Dokumente
MACROS
Las Macros en Excel son un conjunto de instrucciones que se ejecutan de manera secuencial por
medio de una orden de ejecucin, claro est que una Macro puede invocar a otras Macros, logrando
de esta forma obtener operaciones cada vez ms complejas.
Estas macros se crean desde diferentes puntos como pueden ser: por medio de un Control ActiveX,
desde la ventana de cdigo o utilizando la grabadora de macros.
3. Escribe el o los procedimientos que ejecutar la macro en forma ordenada. Por ejemplo:
Range("A3").Select
Range("A3").Value = "Si se puede"
Range("A3").Font.Name = "Monotype Corsiva"
Deber mostrarse as
5. Para comprobar, cierre la ventana de Visual Basic y observe el resultado en la hoja de Excel
3. Escribe el o los procedimientos que ejecutar la macro en forma ordenada. Por ejemplo:
Range(A1) = Fecha
Range(B1) = Date
Range(A2) = Nombre
Range(B2) = Elias Salvador Toralva
Range(A1:A2).Select
Selection.Font.Bold = True
Selection.font.italic = True
Range(A3).Select
Deber mostrarse as
4. Cierre el Editor de Visual Basic. En la hoja de Excel desactive el icono modo Diseo (Ficha
Desarrollador / Grupo controles / Modo Diseo). Hacer un clic en el botn y ejecutar las
instrucciones asignadas.
SEGURIDAD DE MACROS
La seguridad es un tema importante ya que al abrir algn archivo que contenga una macro maliciosa
puede causar algn tipo de dao al equipo. De manera predeterminada Excel no permite ejecutar
macros automticamente.
Si est creando una macro propia y desea
quitar la proteccin porque sabe que no existe
cdigo malicioso, entonces modifique la
configuracin de seguridad de las macros
como se describe a continuacin:
- Seleccione la Ficha Desarrollador / hacer un
clic en Seguridad de macros
- Seleccione la opcin Habilitar todas las macros / active la casilla Confiar en el acceso al modelo
de datos del proyecto de VBA / clic en Aceptar.
Si elige la segunda opcin, 'Deshabilitar todas las macros con notificacin", entonces, al abrir el
archivo se presenta una banda amarilla en la parte superior de la hoja de clculo con un mensaje
indicando que se han deshabilitado todas las macros. Para habilitar presione el botn Habilitar
contenido, como se muestra en la imagen
PROCEDIMIENTOS Y TIPOS
Un procedimiento es bsicamente una unidad de cdigo informtico que realiza alguna accin.
Existen dos tipos de procedimientos y son: Sub o Function
Crear una Macro (El Procedimiento Sub)
Procedimiento Sub,
indica que se est
creando una macro
Nombre de la
macro
Argumentos. Si no hay
coloque solo los parntesis
Nombre de la
funcin
Parmetros de la
funcin definido
con el tipo de dato
Valor de retorno.
Tipo de dato como se
mostrar el resultado
DESCRIPCIN
La palabra clave Function.- La primera lnea de cdigo comienza con la palabra Function la cual
define el inicio de la funcin. Observa tambin cmo la ltima lnea de cdigo es End Function que
est especificando el trmino de la funcin.
Nombre de la funcin.- despus de la palabra clave Function escribe el nombre de la funcin, de
preferencia en MAYSCULAS para que se muestre uniformente en la lista de funciones de Excel.
Parmetros de una funcin VBA.- Los parmetros son el medio por el cual pasa informacin de
entrada a la funcin. Algunas funciones necesitarn de dichas entradas para realizar algn clculo
y algunas otras no, es por ello que los parmetros de una funcin son opcionales. Puede incluir
tantos parmetros como sean necesarios y solamente debe recordar separarlos por una coma.
Valor de retorno.- La caracterstica principal de una funcin es que puede regresar un valor. Es
por eso que al definir una funcin se debe indicar el tipo del valor de retorno que tendr dicha
funcin. En este caso el valor de retorno ser de tipo Double y se est especificado por las
palabras As Double que aparecen despus de los parntesis.
Cuerpo de la funcin VBA.- Una vez definida la funcin se pueden especificar todas las
instrucciones que sern ejecutadas.
Retornando el valor.- Una vez que se han hecho los clculos necesarios, es importante regresar
el valor. Para hacerlo es indispensable igualar el nombre de la funcin al valor o variable que
contiene el valor que se desea regresar.
Application
Workbook
Range
Sheets
Cells
Column
Chart
Row
El segundo concepto importante a entender es que cada uno de estos objetos tiene PROPIEDADES
y MTODOS.
Las propiedades de un objeto nos ayudan a describirlo mejor en todo momento
Los mtodos son las acciones que puede realizar con dicho objeto
Por Ejemplo:
El objeto WORKBOOK tiene
Propiedades como:
ActiveSheet (Hoja activa), Name (Nombre), ReadOnly (Solo Lectura), Saved (Guardado)
Y algunos Mtodos como:
Open (Abrir), Close (Cerrar), PrintOut (Imprimir), Protect (Proteger), Unprotect (Desproteger).
Cells
Propiedades
Value
Address
Mtodos
Activate
Calculate
Clear
Range(A1).Value
Tambin, cada vez que se coloca el punto seguido al nombre del objeto se activa una lista de
propiedades, busque en la lista y seleccione la propiedad a utilizar.
Ejemplo: Escribir la propiedad Font para una celda
OBJETOS PREDETERMINADOS
Existe una funcionalidad intrnseca de VBA conocida como objetos predeterminados la cual nos
permite omitir la escritura de algunos objetos y aun as tener un cdigo funcional.
Por ejemplo, el objeto Application se puede omitir ya que esto hace referencia al programa de Excel.
Lo mismo puede ser con los objetos Activeworkbook (se refiere al libro que se est utilizando) y
ActiveSheet (se refiere a la hoja actual en la cual se est trabajando) y la funcionalidad del cdigo
ser la misma.
Caracteres de continuacin
La combinacin de un espacio seguido de un guin bajo _, se utiliza para poder saltar de lnea
de cdigo y as no perder la visibilidad en la pantalla, aunque tiene alguna restriccin, no se puede
utilizar para continuar una lnea de cdigo dentro de una expresin de tipo cadena.
Msgbox
La funcin MsgBox es una ventana que puede utilizar como cuadro de mensaje para informar a los
usuarios sobre los cambios que se estn efectuando en el proyecto.
Mensaje Simple
Inserte el botn de comando, hacer un doble clic para ingresar
al editor de Visual Basic y digite un mensaje simple.
MsgBox ("Qu fcil es VBA")
Mensaje en Lneas
Para iniciar una nueva lnea en un mensaje, utilice
vbNewLine.
Inserte el botn de comando, hacer un doble clic para
ingresar al editor de Visual Basic y digite un mensaje
siguiente.
MsgBox ("Excel Bsico" & vbNewLine & "Excel
Intermedio")
Insertar un botn de comando, hacer un doble clic para ir al editor de Visual Basic, digite lo siguiente:
10
Esta ventana de error se muestra porque no reconoce al texto Valu que es una propiedad mal
digitada, lo correcto era digitar Value.
VARIABLES NO DECLARADAS
Inserte un botn de comando (control activeX) en la
hoja de Excel, hacer un doble clic en el botn.
En la ventana de cdigo escribe Option Explicit al
inicio del cdigo como se muestra en la imagen ---
Debajo de la lnea Private Sub escribe las
siguientes instrucciones:
X=2
Range("A5").Value = X
Presione la tecla F5 para ejecutar la macro. Como la variable X no est definido. Excel VBA ha
coloreado la X azul y muestra una ventana con el mensaje de error
11
Corregir Errores
En el Editor de Visual Basic, haga clic en
Restablecer para detener el depurador --------------
O digite la lnea de cdigo debajo de Private Sub
Dim x As Integer
12
VARIABLES
Una variable es un nombre que hace las funciones de contenedor polivalente que puede albergar
distintos valores o datos los cuales depender de la clase de dato que desea guardar dentro de ellas
Hay que tener en cuenta que Excel interpreta de forma inteligente el tipo de variable a la que nos
estamos refiriendo. Es decir, la variable se refiere a valores numricos, pero en otros casos pueden
ser textos, fechas, etc.
Ese "reconocimiento inteligente" que hace Excel del tipo de variable, requiere la utilizacin de ms
memoria en el equipo (debido a que asigna por defecto un tipo de variable-comodn llamado
"variant") y por lo tanto es conveniente facilitarle las cosas indicando en lo que se llama una
"declaracin de variable".
Si no se declara la variable tomar como tipo de dato Variant (tipo de variable que almacena todo
tipo de informacin). El tipo variant ocupa 20 bytes. Cosa que no es recomendable
De ah se recomienda que la variable sea declarada. Y es ms fcil de hacer modificaciones
Por qu declarar variables?
Bsicamente es para tener ms ordenado la codificacin. Si declara las variables:
Ocuparn menos espacio en memoria.
Nuestra macro ser difcil de interpretar para otros usuarios que puedan necesitar leer el cdigo
VBA (incluso para nosotros mismos). Tener al principio de la macro una lista con las variables
declaradas resulta muy til y aclarador.
Podra utilizar esa variable posteriormente en varias macros.
13
TIPOS DE VARIABLES
Existen 12 tipos de datos diferentes con los que se puede trabajar. Por ejemplo al declarar una
variable en VBA basta aadir una lnea de cdigo para definir la naturaleza de los valores que
almacenaremos en ella. Estos son:
Integer (Entero)
La variable Integer se utiliza para almacenar nmeros enteros.
Dim x As Integer
Declarar x como valor entero
x=6
X es igual a 6
Range ("A1").Value = x
El contenido de la celda A1 es igual al
valor de 6
Double (Doble)
Una variable de tipo Double es ms precisa que una variable de tipo entero y tambin puede
almacenar nmeros decimales.
Dim x As Integer
declarar x como entero
x = 5.5
x es igual a 5.5
MsgBox "el valor es " & x
mensaje: El valor es 6
Dim x As Double
x = 5.5
MsgBox "el valor es " & x
Currency (Moneda)
El tipo de dato Moneda es en realidad un tipo entero
internamente pero que como resultado muestra con el
smbolo monetario y dos decimales.
Dim celdita As Currency
celdita = 24
Range("A3").Value = celdita
Boolean (Lgica)
Una variable de tipo lgico es aquella que puede
almacenar solamente dos valores: Falso o Verdadero.
Dim continue As Boolean
continue = True
If continue = True Then MsgBox "Es Verdadero"
14
Tipo
Rango Permitido
Byte
[0 ; 255]
Integer
[-32,768; 32,767]
Long
[- 2147483,648; 2147483,647]
Single
Double
Cadena de Caracteres
String
Lgicos
Boolean
True , False
Numricos Enteros
Numricos Reales
OPTION EXPLICIT
sta obliga a declarar las variables que no haya declarado dando la alerta de la variable no declarada.
Hay dos formas para utilizar la declaracin de variables obligatorias y son:
Variable Local
Consiste en digitar Option Explicit al
principio de la lnea de cdigo generando
una lnea de divisin entre el
procedimiento sub o function.
Variable Predeterminada
Para predeterminar la variable seleccione el Men herramientas en el Editor de Visual Basic, hacer
un clic en Opciones, en la pestaa Editor activar la casilla requerir declaracin de variable
15
16
17
CELDAS
En vez de Rangos, tambin puede utilizar las celdas. El uso de celdas es particularmente til cuando
se quiere recorrer rangos.
Row = Fila
Ingrese el nmero de la fila
Column = Columna
Ingrese el nmero de la columna
Cells([RowIndex],[ColumnIndex])
La interseccin de los nmeros indica la posicin de la celda en la hoja de clculo
Ejemplo
Sub Ingresar()
Cells(3, 2).Value = 2
End Sub
(Ingresa el valor 2 en la interseccin de la fila 3 y la columna 2) Celda B3 = 2