Macros en Excel
Macros en Excel
Nombre
Puesto
1. ?
2. ?
3. ?
4. ?
Puntualidad (Recesos)
Atender el curso en su totalidad.
Celular en modo silencio.
Programa de trabajo
Horarios
Entrada 08:00 Salida 17:00
Macros
Maneras de realizar macros en Excel
Grabadora de Macros
Ventana del Editor de VB
Visual Basic para Aplicaciones
Modos de trabajo en Visual Basic
Formularios
Controles Bsicos
Programacin
Programacin Orientada a Objetos
Objetos de Excel
Elementos del lenguaje VBA
Variables
Tipos de Datos
Constantes
Reglas para nombrar variables
Tipos de Datos
Funciones de Conversin de Tipos de Datos
mbito de ariables
mbito de Constantes
Constantes locales
Instrucciones de asignacin
Operadores
Funciones VBA
Construcciones With.... End With
Construcciones For Each.... Next
Construcciones If.... Then
Ejecucin de Macros con Eventos
Control de Errores
Complementos
Evaluaciones
Evaluaciones
Inicial y final
Evaluacin Inicial 0%
Evaluacin final escrita 50%
Prcticas y Ejercicios 30%
Evaluacin final prctica 20%
MACROS
Una Macro es un programa escrito o grabado por el usuario que almacena una
serie de comandos de Microsoft Excel que pueden utilizarse posteriormente
como un nico comando.
Ir a la Ficha Complementos
Botn derecho sobre el rea en blanco
Guardar archivos con Macros
Abrir Excel.
Crear un libro nuevo.
Examinar
Guardarlo como Libro de Excel habilitado para Macros y
nombrarlo Ejercicios.xlsm.
Habilitar la ficha Programador.
Maneras de realizar Macros en Excel
Llamarla InsertarTexto.
Ir al men Macros
Observar el cdigo.
** Borrar el contenido de la celda A1
Ejecutar una Macro
Ficha Programador
Grupo Cdigo
Botn Macros
Ejecutar
** Ejecutar la Macro InsertarTexto
PRACTICA 1
Ejercicios 1 y 2
20 Minutos
Crear macro Manualmente
Lista de
Lista de Procedimientos
Objetos
Visual Basic para
Aplicaciones
VBA
VBA
Estas aplicaciones se desarrollan en gran parte a partir del diseo de una interfaz
grfica.
En una aplicacin Visual Basic, el programa est formado por una parte de cdigo puro,
y otras partes asociadas a los objetos que forman la interfaz grfica.
VBA manipula objetos y cada producto (Excel, Word, Access, etc.) tiene su propio
modelo de objetos nico.
Qu podemos hacer con VBA?
Anlisis
Diseo de la interfaz del usuario.
Generacin de cdigo.
MODOS DE TRABAJO EN VISUAL BASIC
En modo de diseo
En modo de ejecucin
Modo de Diseo
Algunos de los controles bsicos que podemos utilizar en Visual Basic son los
siguientes:
Botones de Comando
Cajas de Texto
Etiquetas
Combo Box
Botn de Comando (Command Button)
Las cajas de texto son los controles en los que Visual Basic permite a los
usuarios introducir textos.
Tambin se utilizan para la presentacin de textos que los usuarios
puedan modificar.
ComboBox
Ejemplo:
Cliente. Nombre, Nmero de Cliente, Direccin, Email.
Producto: Nmero de Producto, Nombre, Costo, Descripcin.
Objetos de Excel
Application
(Excel)
Libros
(Workbooks)
Hojas
(Worksheets
)
Rango
(Range)
Objetos: VBA manipula objetos que se encuentran en su aplicacin husped,
en este caso Excel. Entre los ejemplos de objetos de Excel se encuentran:
Libros
Hojas
Rangos
Grficos
Los objetos pueden contener otros objetos.
Ejemplo: El objeto Excel del tipo Application contiene otros objetos como Workbook y
CommandBar y el objeto Workbook contiene objetos como Worksheet, el objeto
Worksheet contiene objetos como Range y Table y as sucesivamente.
Colecciones: Los conjuntos de objetos similares forman una coleccin. Por ejemplo la
coleccin Worksheet se compone de todas las hojas de un determinado libro. Las colecciones
son objetos por s mismos.
Application.workbooks(Libro1.xls)
Llevando esto a otro nivel.
Application.workbooks(Libro1.xls).Worksheets(Hoja1).Range(A1)
Objetos Activos: Si omite una referencia especfica a un objeto,
Excel utiliza los objetos activos.
Mdulos
Procedimientos
y Funciones
Cdigo
Variables, tipos de Datos y Constantes
Ejemplo:
Dim strCiudad as String
Dim intCantidad as Integer
mbito de las variables
Un solo mdulo
Incluyendo una declaracin Dim o Private antes del
primer procedimiento de un mdulo
Si no se especifica un tipo de dato, VBA por default lo interpreta como tipo Variant.
Es mejor utilizar el tipo de datos que use menor nmero de bytes. La velocidad de ejecucin del cdigo
Depender del nmero de bytes.
Otra forma de especificar el tipo de datos de las variables es
aadir un carcter al nombre de la variable, por Ejemplo:
Dim Precio%
mbito Cmo se declara la variable
Entero
%
Largo
&
Doble
#
Moneda
@
Cadena
$
Inicializar Variables
Ejemplo:
strCiudad = Boston
intCantidad = 5
Inicializar Variables
Ejemplo:
strCiudad = Boston
intCantidad = 5
Constantes
X = (y+2)/(z*2)
Operadores
Un argumento es un valor que recibe un procedimiento o una funcin el cual ser utilizado para
efectuar las acciones deseadas dentro del cdigo.
Estos se especifican de la siguiente manera:
Para un procedimiento:
Private/Public Sub NombreProcedimiento(variable as TipoDato)
Instrucciones
End Sub
MsgBox Resultado
End Sub
Funcin con Argumentos
Fnc = Suma
End Function
Invocar procedimientos
Public Sub Operaciones(a As Integer, b As Integer) Public Function Fnc(a As Integer, b As Integer) As
Double
End Function
End Function
Obtener valores del Usuario
El argumento Title es opcional. Especifica una cadena o texto que ser desplegado en la barra de ttulo de la caja de mensaje.
ReturnValue: Cuando se utiliza un MsgBox como funcin estamos
regresando un valor desde el usuario, usualmente a una variable.
El valor es guardado como entero pero es representado por un
valor listado en la siguiente tabla:
Ejemplo:
https://exceltotal.com/funciones-vba/
Funciones Matemticas
Esta construccin nos permite realizar varias operaciones sobre un mismo objeto.
Ejemplo:
Sub CambiarFuente1()
Selection.Font.Name=Times New Roman
Selection.Font.Size = 12
Selection.Font.Underline = xlunderlinestyleSingle
Selection.Font.ColorIndex = 5
End Sub
Sub CambiarFuente2()
With Selection.Font
Font.Name=Times New Roman
Font.Size = 12
Font.Underline = xlunderlinestyleSingle
Font.ColorIndex = 5
End With
End Sub
Controlar la ejecucin
Sub CloseInactive()
Dim Book as Workbook
For Each Book In Workbooks
If Book.Name <> ActiveWorkbook.Name Then
Book.Close
End If
Next Book
End Sub
Construcciones For Each Next
Sub MakeUpperCase()
Dim cell as Range
For Each cell in Selection
Cel.Value = Ucase(cell.Value)
Next Cell
End Sub
Construcciones IF. THEN
Estructura:
If condicin then
Sentencia1
Else
Sentencia2
End If
PRCTICA 2
Ejercicios 1 y 2
30 Minutos
Instrucciones goto
Esta instruccin transfiere la ejecucin de un programa a una nueva instruccin que
debe estar precedida por una etiqueta.
Sub GoToDemo()
UNO:
MsgBox "Correcto"
End Sub
Construcciones Select Case
Sub SelectCaseDemo()
End Sub
Sub Cuenta()
Dim i as Integer
i=1
For iCuenta = i To 10
Msgbox iCuenta
Next iCuenta
End Sub
Ciclo Do Loop
Do [{While/Until} condicin]
[instrucciones]
[Exit do]
[instrucciones]
Loop
Ejemplo
El siguiente ejemplo muestra un Msgbox con el valor de la variable iContador siempre y cuando esta tenga un valor menor o igual a 13.
Sub DoWhileDemo()
MsgBox iContador
iContador = iContador + 1
Loop
End Sub
PRCTICA 2
Ejercicios 3, 4, 5, 6 y 7
3 horas
Ejecucin de Macros con Eventos
Las macros se ejecutan siempre que un evento sucede, por ejemplo, al dar clic a un
Botn.
Sin embargo Excel tiene sus propios tipos de eventos.
Errores de sintaxis
Errores de compilacin
Errores lgicos
Errores de Sintaxis