mcse mct · 1. creamos un libro excel llamado libro 1.como la hicimos 1. creamos un libro excel...
TRANSCRIPT
![Page 1: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/1.jpg)
Carlos AsenjoMCSE MCT
![Page 2: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/2.jpg)
www.serverms.es
Objetivo del CursoObjetivo del Curso◦ Conceptos básicos◦ Creación de macros◦ Creación de macros◦ Automatizar tareas◦ Conceptos fundamentales de VB Excelp
Contenidos◦ Concepto de macro◦ Creación automática de macro◦ Edición de macro◦ Asignación a objetos
![Page 3: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/3.jpg)
www.serverms.es
ContenidosContenidos◦ Concepto de macro
◦ Creación automática de macro
◦ Edición de macro
◦ Asignación a objetos
◦ Editor VB Excel
![Page 4: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/4.jpg)
www.serverms.es
Conceptos fundamentalesConceptos fundamentales◦ Procedimientos y módulos
◦ Estructuras (IF,For‐Next, Do‐Loop,…)
OPM◦ OPM
◦ Variables, constantes,…Variables, constantes,…
◦ MsgBox, Inputbox,…
◦ Errores y depuración de código
![Page 5: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/5.jpg)
www.serverms.es
Una definición sencillaUna definición sencilla◦ Macro: es un conjunto de instrucciones de código (programado) que permiten realizar una tarea determinada como así también expandir e p pincrementar las prestaciones de Excel.
◦ Las macros se escriben en lenguaje de programación VBA (Visual Basic◦ Las macros se escriben en lenguaje de programación VBA (Visual Basic for Applications) en el editor de VB que incorpora Excel
![Page 6: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/6.jpg)
www.serverms.es
Se pueden definir 4 grandes "áreas" donde se aplicanSe pueden definir 4 grandes áreas donde se aplican las macros que son:
◦ 1. Automatización de tareas y procesos que involucran muchos pasosmuchos pasos◦ 2. Creación de nuevas funciones a medida (aparte de las que ya posee Excel !)◦ 3. Creación de nuevos comandos, complementos y menús.◦ 4. Creación de completas aplicaciones a medida.
![Page 7: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/7.jpg)
www.serverms.es
Automatización de procesos:Automatización de procesos:◦ Todos los días llevamos a cabo las mismas acciones (Centrar, Negrita, Tamaño x, …)Negrita, Tamaño x, …)
◦ Individualmente son muy sencillas, pero en conjunto forman y p jun tedioso trabajo
Ó◦ SOLUCIÓN: Macro
![Page 8: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/8.jpg)
www.serverms.es
Creación de funciones a medida:Creación de funciones a medida:◦ Excel incorpora +‐ 330 funciones que se pueden usar de forma aislada o anidadaaislada o anidada
◦ Ninguna de ellas se ajusta a lo que queremosg j q q
◦ SOLUCION: Macro. Aparecerá en el menú de funciones como una más.
![Page 9: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/9.jpg)
www.serverms.es
Creación de nuevos comandos complementos yCreación de nuevos comandos, complementos y menús:◦ Cada vez tengo que buscar comandos en diferentes menús◦ Cada vez tengo que buscar comandos en diferentes menús
◦ Me vuelvo locoMe vuelvo loco
◦ SOLUCIÓN: Macro. Puedes crear un menú personalizado con tus comandos más frecuentes
![Page 10: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/10.jpg)
www.serverms.es
Creación de aplicaciones a medida:Creación de aplicaciones a medida:◦ Excel es utilizado en muchos campos por muchos usuarios
◦ Las macros te permiten crear todo un programa de software
◦ Lo podrán usar cualquier usuario aunque “no sepa” Excel
![Page 11: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/11.jpg)
www.serverms.es
(OPM)(OPM).Supongamos que tenemos una canasta de frutaObj t í l i f t ( j )◦ Objetos: serían las mismas frutas (naranjas, peras…).◦ Propiedades: serían las características de las frutas (color, olor, sabor textura )sabor, textura…).◦ Métodos: son las acciones que podríamos ejercer sobre las frutas (comprarlas, venderlas, comerlas, almacenarlas, limpiarlas, quitarles la piel,…).
![Page 12: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/12.jpg)
www.serverms.es
En Excel:En Excel:◦ Objetos: un libro excel, una hoja, un rango, una celda, un menú, un gráfico, una tabla dinámica, un cuadro de diálogo,menú, un gráfico, una tabla dinámica, un cuadro de diálogo, las etiquetas de hojas, las columnas, las filas, etc.
◦ Propiedades: por ejemploCelda: alto, ancho, color, bloqueada o desbloqueada,…Hoja: visible u oculta, con o sin líneas de división,…
◦ Métodos: para una hoja◦ Métodos: para una hoja,activar, mover, copiar o borrar.
![Page 13: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/13.jpg)
www.serverms.es
Hablar de macros lenguaje VBA y OPM es lo mismoHablar de macros, lenguaje VBA y OPM es lo mismo.El lenguaje VBA solo está en inglés.L j fá il i i iLenguaje fácil y muy intuitivo◦ Ejemplos de Objetos VBA
Cell (celda) Range (rango) Worksheet (hoja) Workbook (libro)Cell (celda), Range (rango), Worksheet (hoja), Workbook (libro)◦ Ejemplos de Propiedades VBA
Value (valor), Color (color), Format (formato)Value (valor), Color (color), Format (formato)
◦ Ejemplos de Métodos VBACopy (copiar), Protect (proteger), Delete (borrar)
![Page 14: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/14.jpg)
www.serverms.es
Necesario que conozcas la barra de herramientas VBANecesario que conozcas la barra de herramientas VBA◦ Herramientas > Macros
◦ Ver > Barras de Herramientas > Visual Basic
![Page 15: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/15.jpg)
www.serverms.es
Tres formas de acceder al editor:Tres formas de acceder al editor:
H i t > M > Edit d Vi l B i◦ Herramientas > Macros > Editor de Visual Basic
◦ Desde el botón Editor de Visual Basic de la Barra de◦ Desde el botón Editor de Visual Basic de la Barra de Herramientas Visual Basic.
◦ Método abreviado del teclado: ALT+F11
![Page 16: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/16.jpg)
www.serverms.es
![Page 17: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/17.jpg)
www.serverms.es
La Ventana Proyecto VBA Project:La Ventana Proyecto ‐ VBA Project:◦ Muestra XLS (Libros de Calculo) y XLA (Complementos) abiertos(Complementos) abiertos
◦ En nuestro caso VBAProject (Libro1)j
Ventana de Código:
![Page 18: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/18.jpg)
www.serverms.es
Tres métodos:Tres métodos:
M l t◦ Manualmente
◦ Mediante la Grabadora de Macros◦ Mediante la Grabadora de Macros
◦ Combinación de ambas (grabando y modificando el código)(g y g )
![Page 19: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/19.jpg)
www.serverms.es
Objetivo: Escribir el valor 1 500 en la celda A1 de laObjetivo: Escribir el valor 1.500 en la celda A1 de la hoja Excel.
◦ Comenzamos con una hoja vacía◦ Ejecutamos la macro◦ Ejecutamos la macro◦ Deberá escribir en A1, 1500
![Page 20: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/20.jpg)
www.serverms.es
1 Prepara el Editor de VB1. Prepara el Editor de VB1. Crea un nuevo libro Excel y guárdalo con el nombre Libro 1.2. Abre el editor de Visual Basic con las teclas ALT+F11.3. Doble clic en VBAProject (Libro1) para ver las carpetas.4. Doble clic en Hoja1 (Hoja1) para empezar a escribir el código de la macro
2. Escribimos la macro' Esta macro escribe el valor 1500 en la celda A1Sub MiPrimeraMacro()Range("A1").Value=1500End Sub
![Page 21: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/21.jpg)
www.serverms.es
Cinco formas:Cinco formas:◦ Desde el mismo editor
Desde el inicio de la macro pulsar F5Desde el inicio de la macro pulsar F5
◦ Desde ExcelF11 para volver a ExcelHerramientas > Macros > MacroSeleccionamos la macro > Ejecutar
![Page 22: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/22.jpg)
www.serverms.es
◦ Desde Objetos:◦ Desde Objetos:Ver > Barra de Herramientas > DibujoUna vez creado el objeto, Botón Dcho.>Asignar Macro…j , g
◦ Desde botones:Ver> Barra de herramientas > Personalizar.Comandos> Categorías> MacrosC l b tó d B tó d h A i MCon el botón creado: Botón dcho.> Asignar Macro…
◦ Automáticamente:◦ Automáticamente:Cada cierto tiempo, o según la acción del Usuario
![Page 23: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/23.jpg)
www.serverms.es
' Esta macro escribe el 1500 en la celda C10 Esta macro escribe el 1500 en la celda C10◦ Comentario sobre la macro◦ Siempre ha de empezar por ‘◦ Siempre ha de empezar por ◦ En línea y cantidad ilimitadas◦ Muy útiles para macros complejasy p p j◦ No tiene efectos sobre la macro
Sub MiPrimeraMacro()◦ Toda macro comienza con Sub NombreMacro()◦ NombreMacro se utilizara para ejecutar la macro
![Page 24: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/24.jpg)
www.serverms.es
Range("A1") Value = 1500Range( A1 ).Value = 1500◦ Corazón de la macro◦ Objeto: Range(“A1”)◦ Objeto: Range( A1 ).◦ Propiedad: Value◦ Valor: = 1500◦ a la celda A1 de Excel asígnale el valor 1500
End Sub◦ Toda macro termina con End Sub
![Page 25: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/25.jpg)
www.serverms.es
1 Grabar la macro1. Grabar la macro1. Ve al menú Herramientas > Macros 2. Selecciona la opción Grabar nueva macro…3. Se abrirá un cuadro de diálogo como el que se muestra a continuación.
4 Borra Macro 1 y escribe MiPrimeraMacro4. Borra Macro 1 y escribe MiPrimeraMacro5. Pulsa Aceptar. A partir de ahora se grabara cada clic que hagas6. Posiciónate en A1 y escribe 1500
7. Cuando termines presiona o Herramientas > Macros > Detener grabación
![Page 26: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/26.jpg)
www.serverms.es
Ver el códigoVer el código
![Page 27: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/27.jpg)
www.serverms.es
Escrita GrabadaEscrita1. Como la hicimos
1. Creamos un Libro Excel llamado Libro
Grabada1. Como la hicimos
1. Creamos un Libro Excel llamado Libro12 Herramientas > Macros > Grabar macro2. Abrimos el editor de macros con ALT+F11
3. En VBAProject (Libro1) hicimos doble clic en Hoja1 (Hoja1)
4. Escribimos el código de la macro.
2. Herramientas > Macros > Grabar macro…3. En la celda A1 escribimos 15004. Herramientas > Macros > Detener grabación
2. El código de la macro4. Escribimos el código de la macro.
2. El código de la macro1. Con ALT+F11 accedemos al editor de
macros.
1. Con ALT+F11 accedemos al editor de macros.
2. El código que escribimos manualmente fue el siguiente:
2. El código que escribimos manualmente fue el siguiente:‘ escribe el valor 1500 en la celda A1Sub MiPrimeraMacro()
Sub MiPrimeraMacro()' MiPrimeraMacro Macro' Macro grabada el 02/03/2008 por MSLRange("A1").SelectSub MiPrimeraMacro()
Range("A1").Value=1500End Sub
Range( A1 ).SelectActiveCell.FormulaR1C1 = "1500"Range("B1").SelectEnd Sub
![Page 28: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/28.jpg)
www.serverms.es
Escrita GrabadaEscritaComo la hicimos◦ Desventaja: Requiere conocer OPM
GrabadaComo la hicimos◦ Ventaja: No es necesario saber
El código de la macro◦ Ventaja: Código más eficiente y
programar
El código de la macrosintético
' Esta macro escribe el valor 1500 en la celda A1
◦ Desventaja: Código habitualmenteredundante y excesivo
Sub MiPrimeraMacro()Sub MiPrimeraMacro()
Range("A1").Value = 1500
End Sub
Sub MiPrimeraMacro()' MiPrimeraMacro Macro' Macro grabada el 02/03/2008 por MSLRange("A1").SelectActiveCell.FormulaR1C1 = "1500"ActiveCell.FormulaR1C1 1500Range("B1").Select
End Sub
![Page 29: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/29.jpg)
www.serverms.es
Procedimiento SUB Nombre()Procedimiento SUB Nombre()◦ General
Se le llama manualmente desde códigoSe le llama manualmente desde código
◦ Asociado a un eventoEjecuta de forma automáticajNobreObjeto_Evento (ej: Workbook_Open)
Sub Macro ()Range(“A1”)=1500End Sub
![Page 30: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/30.jpg)
www.serverms.es
Procedimiento Function Nombre(Argumentos)Procedimiento Function Nombre(Argumentos)◦ Devuelven un valor resultado de una función
Function Terminar() As BooleanDim x As Byteyx = MsgBox("¿Desea salir?", vbOKCancel, "Salir")If x = 1 ThenActiveCell.Value = "SI"End IfEnd Function
![Page 31: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/31.jpg)
www.serverms.es
Llamar función desde ExcelLlamar función desde Excel◦ Insertar > Función… > Definidas por el Usuario
Function CalcEdad(FechaNac As Date)Dim zFecha As DateCalcEdad = Abs(DateDiff("YYYY", FechaNac, Date))zFecha = DateAdd("YYYY", CalcEdad, FechaNac)If zFecha > Date Then CalcEdad = CalcEdad ‐ 1End Function
![Page 32: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/32.jpg)
www.serverms.es
ArgumentosArgumentos◦ Declarar variable◦ Pedira al usuario el valor del argumento◦ Pedira al usuario el valor del argumento
◦ Variable As tipop
![Page 33: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/33.jpg)
www.serverms.es
Disparar macros según acciones (a nivel de Libro)Disparar macros según acciones (a nivel de Libro)◦ Guardar, abrir, cerrar, imprimir…
Han de escribirse en “ThisWorkbook”
![Page 34: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/34.jpg)
www.serverms.es
Ejemplo:Ejemplo:Private Sub Workbook_Activate()Msgbox "Hola, Excel te saluda“End Sub
Sub Workbook Open()Sub Workbook_Open()Workbooks.Open Filename:=“Ruta”End Sub
Private: macro/función solo se puede llamar desde el mismo modulo
Existen 20 macros de evento
![Page 35: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/35.jpg)
www.serverms.es
Disparar macros según acciones (a nivel de hoja)Disparar macros según acciones (a nivel de hoja)◦ Activarla, desactivarla, crear nueva…
Han de escribirse en “Hoja1(Nombre)”
![Page 36: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/36.jpg)
www.serverms.es
Ejemplo:Ejemplo:Private Sub Worksheet_Activate()MsgBox "Hola, Estas en la Hoja 1"End Sub
Existen 9 macros de evento a nivel hojaExisten 9 macros de evento a nivel hoja
![Page 37: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/37.jpg)
www.serverms.es
Sub Primero()Sub Primero()Range("A1").Value = "Hola"End Sub
Queremos que sea el usuario quien diga que ponerNecesitamos un lugar donde guardar lo que escribaSOLUCIÓN: Variable
DIM variable AS tipo.En este caso: DIM MiVariable AS String.g
![Page 38: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/38.jpg)
www.serverms.es
Ventana para introducir datosVentana para introducir datosSINTAXIS: InputBox(Mensaje, Título).
En nuestro caso: ◦ MiVariable = (“Introduzca datos”, “Entrada de datos”)
Si pulsamos Aceptar los datos se guardaran enSi pulsamos Aceptar, los datos se guardaran en MiVariable
![Page 39: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/39.jpg)
www.serverms.es
11.Sub datos()Dim MiVariable As StringDim MiVariable As StringMiVariable = InputBox("Introduzca Datos", "Entrada de Datos")ActiveSheet.Range("A1").Value = MiVariableActiveSheet.Range( A1 ).Value MiVariableEnd Sub2.2.Sub datos()ActiveSheet.Range("A1").Value = InputBox ("Introduzca Datos", "Entrada de Datos")
End Sub
![Page 40: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/40.jpg)
www.serverms.es
33.Sub Entrar_ValorDi C ill A S iDim Casilla As StringDim Texto As StringCasilla = InputBox("En que casilla quiere entrar el valor", "Entrar Casilla")Texto = InputBox (“Introduzca datos para ” &Casilla, "Entrada de Datos")ActiveSheet Range(Casilla) Value = TextoActiveSheet.Range(Casilla).Value = Texto
End Sub
![Page 41: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/41.jpg)
www.serverms.es
Herramientas > Opciones > Requerir declaración de VarHerramientas > Opciones > Requerir declaración de Var.MUY RECOMENDABLE declarar variablesEjemplo practico:Ejemplo practico:
Sub Entrar_ValorTexto = InputBox(“Introduzca datos", "Entrada de datos")ActiveSheet Range("A1") Value = TestoActiveSheet.Range( A1 ).Value TestoEnd Sub
Option ExplicitOption ExplicitSub Entrar_ValorDim Texto As StringTexto = InputBox(“Introduzca datos", "Entrada de datos")Texto InputBox( Introduzca datos , Entrada de datos )ActiveSheet.Range("A1").Value = TestoEnd Sub
![Page 42: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/42.jpg)
www.serverms.es
Byte | 1 byte | 0 a 255Byte | 1 byte | 0 a 255Integer |2 bytes | ‐32.768 a 32.767D i l |14 b |D i lDecimal |14 bytes |DecimalesDate |8 bytes |FechasString |10 bytes |TextoVariant |22 bytes |= String
![Page 43: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/43.jpg)
www.serverms.es
Dim Var Objeto As ObjetoDim Var_Objeto As ObjetoDim R As Range; Dim Hoja As WorkSheet
Set Variable_Objeto = ObjetoSet R= ActiveSheet.Range("A1:B10“); Set Hoja = ActiveSheet
Ejemplo Practico:Sub macrobj()Di R A RDim R As RangeSet R = ActiveSheet.Range("A10:B15")R.Value = "Hola"R.Font.Bold = TrueEnd Sub
![Page 44: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/44.jpg)
www.serverms.es
Valor lógico SIValor lógico SI
Si C di ió E If C di ió ThSi Condición EntoncesSenténcia1Senténcia2
If Condición ThenSenténcia1Senténcia2Senténcia2
.
.S é i N
Senténcia2..S é i NSenténciaN
Fin SiSenténciaN
End If
![Page 45: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/45.jpg)
www.serverms.es
Ejemplo (Desarrolla tu mismo un ejemplo sencillo)Ejemplo (Desarrolla tu mismo un ejemplo sencillo)
![Page 46: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/46.jpg)
www.serverms.es
Ejercicio:Ejercicio:Entrar una cantidad que representa el precio de algo por el teclado con la instrucción InputBox y guardarlo en la celda A1 de la hojacon la instrucción InputBox y guardarlo en la celda A1 de la hoja activa.
Si el valor entrado desde el teclado (y guardado en A1) essuperior a 1000, pedir descuento con otro InputBox y guardarlo en la casilla A2 de la hoja activacasilla A2 de la hoja activa.
Calcular en A3 el precio de A1 menos el descuento de A2Calcular en A3, el precio de A1 menos el descuento de A2.
![Page 47: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/47.jpg)
www.serverms.es
Sub Precios()
Range("A1").Value = InputBox("Entrar el precio", "Entrar")
Sub Precios()
If Range("A1").Value > 1000 Then
( ) ( )Range("A2").Value = InputBox("Entrar Descuento", "Entrar")
End If
Range("A3").Value = Range("A1").Value ‐ Range("A2").Value
End Sub
![Page 48: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/48.jpg)
www.serverms.es
Sub Precios()Dim Precio As IntegerDim Descuento As IntegerPrecio = 0Precio = 0Descuento = 0Precio = (InputBox("Entrar el precio", "Entrar")( p ( p , )
If Precio > 1000 ThenDescuento = InputBox("Entrar Descuento", "Entrar")p ( , )End If
Range("A1").Value = Preciog ( )Range("A2").Value = DescuentoRange("A3").Value = Precio ‐ Descuento
End Sub
![Page 49: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/49.jpg)
www.serverms.es
‘Compara celdas si son iguales las pone en AZULCompara celdas, si son iguales, las pone en AZUL
S b C di i l2()Sub Condicional2()If Range("A1").Value = Range("A2").Value ThenRange("A1").Font.Color = RGB(0, 0, 255)Range("A2").Font.Color = RGB(0, 0, 255)End IfEnd Sub
![Page 50: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/50.jpg)
www.serverms.es
‘Compara celdas si son iguales las pone en AZULCompara celdas, si son iguales, las pone en AZUL
S b C di i l2()Sub Condicional2()If Range("A1").Value = Range("A2").Value ThenRange("A1").Font.Color = RGB(0, 0, 255)Range("A2").Font.Color = RGB(0, 0, 255)End IfEnd Sub
![Page 51: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/51.jpg)
www.serverms.es
IF ThenIF …… Then ……
IF Th E d IFIF …… Then ……End IF
IF …… Then ……Else …… End IF
IF …… Then …… ElseIf …… Else …… End IF
![Page 52: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/52.jpg)
www.serverms.es
Deberán cumplirse todas las condicionesDeberán cumplirse todas las condiciones
If Condición1 And Condición2 ThenIf Condición1 And Condición2 Then…. SenteciasEnd IfEnd If
![Page 53: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/53.jpg)
www.serverms.es
Deberán cumplirse UNA de las condicionesDeberán cumplirse UNA de las condiciones
If Condición1 Or Condición2 ThenIf Condición1 Or Condición2 Then…. SenteciasEnd IfEnd If
![Page 54: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/54.jpg)
www.serverms.es
No deberá cumplirse la condiciónNo deberá cumplirse la condición
If NOT(Condición) ThenIf NOT(Condición) Then…. SenteciasEnd IfEnd If
![Page 55: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/55.jpg)
www.serverms.es
Var 1 Var2 Rspsta Var1 Var2 RspstaFalse False False False False FalseFalse True False False True TrueTrue False False True False TrueTrue False False True False TrueTrue True True True True True
Y O
![Page 56: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/56.jpg)
www.serverms.es
En función del Valor de UNA casilla variable expresiónEn función del Valor de UNA casilla, variable, expresión….
Select Case ExpresiónC lCase valores :
Instrucciones.C lCase valores :
Instrucciones.….Case Else‘Si no se cumple ninguna de las anterioresSi no se cumple ninguna de las anteriores
End Select
![Page 57: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/57.jpg)
Sub Ejemplo_15()Dim Signo As StringDi V l 1 A I t V l 2 A I t T t l A I t
www.serverms.es
Dim Valor1 As Integer, Valor2 As Integer, Total As IntegerValor1 = Range("A1").ValueValor2 = Range("A2").ValueSi R ("B1") V lSigno = Range("B1").ValueTotal=0If Signo = "+" Then
Total Valor1 + Valor2Total = Valor1 + Valor2End ifIf Signo = "‐" Then
Total = Valor1 Valor2Total = Valor1 ‐ Valor2End ifIf Signo = "x" Then
Total = Valor1 * Valor2Total = Valor1 * Valor2End ifIf Signo = ":" Then
Total = Valor1 / Valor2Total = Valor1 / Valor2End ifActiveCell.Range("A3").Value = TotalEnd SubEnd Sub
![Page 58: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/58.jpg)
Sub Ejemplo_16()Dim Signo As StringDi V l 1 A I t V l 2 A I t T t l A I t
www.serverms.es
Dim Valor1 As Integer, Valor2 As Integer, Total As IntegerValor1 = ActiveSheet.Range("A1").ValueValor2 = ActiveSheet.Range("A2").ValueSi A ti Sh t R ("A3") V lSigno = ActiveSheet.Range("A3").ValueSelect Case signo
Case "+"T t l V l 1 + V l 2Total = Valor1 + Valor2
Case "‐"Total = Valor1 ‐ Valor2
Case "x"Case "x"Total = Valor1 * Valor2
Case ":"Total Valor1 / Valor2Total = Valor1 / Valor2
Case ElseTotal = 0
End SelectEnd Select
ActiveCell.Range("A3").Value = TotalEnd SubEnd Sub
![Page 59: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/59.jpg)
www.serverms.es
Cuadro de diálogo con botonesCuadro de diálogo con botonesVariable = MsgBox( “Mensaje”, Botones, “Título”)MsgBox “Mensaje”, Botones, “Titutlo”MsgBox Mensaje , Botones, Titutlo
VbOK 1 AceptarVbCancel 2 CancelarVbAbort 3 AnularVbRetry 4 ReintentarVbIgnore 5 IgnorarVbY 6 SíVbYes 6 SíVbNo 7 No.
![Page 60: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/60.jpg)
www.serverms.es
Permiten ejecutar más de una vez las mismas sentenciasS b Ejemplo 20 ()Sub Ejemplo_20 ()Dim Nota As IntegerDim Media As SingleN t V l(I tB ("E t N t " "E t N t "))Nota = Val(InputBox("Entrar Nota : ","Entrar Nota"))ActiveSheet.Range("A1").Value = NotaMedia = Media + Nota
( (" " " "))Nota = Val(InputBox("Entrar Nota : ","Entrar Nota"))ActiveSheet.Range("A2").Value = NotaMedia = Media + NotaNota = Val(InputBox("Entrar Nota : ","Entrar Nota"))ActiveSheet.Range("A3").Value = NotaMedia = Media + NotaMedia = Media / 5ActiveSheet.Range("A6").Value = MediaEnd Sub
![Page 61: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/61.jpg)
www.serverms.es
Se repite:Se repite:Nota = Val(InputBox("Entrar la 1 Nota : ","Entrar Nota"))ActiveSheet.Range("AX").Value = NotaActiveSheet.Range( AX ).Value NotaMedia = Media + Nota
Con Estructuras ciclicas ahorramos lineas de código:
![Page 62: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/62.jpg)
www.serverms.es
5 funciones fundamentales:5 funciones fundamentales:
◦ Para (For Next)Para (For…Next)◦ Do While...Loop (Hacer Mientras)◦ Do…Loop While.Do…Loop While.◦ Do..Loop Until (Hacer.. Hasta).◦ For Each
![Page 63: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/63.jpg)
www.serverms.es
Para var =Valor Inicial Hasta Valor Final Paso Incremento Hacera a a a o _ c a asta a o _ a aso c e e o aceSentencia 1Sentencia 2…Sentencia N
Siguiente
For Varible = Valor_Inicial To Valor_Final Step IncrementoSentencia 1Sentencia 2Sentencia N
N V i blNext Variable
![Page 64: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/64.jpg)
www.serverms.es
Ejemplo:je p oSub Ejemplo_21()Dim i As Integer
lDim Total As IntegerDim Valor As IntegerFor i=1 To 10o o 0Valor= Val(InputBox("Entrar un valor","Entrada"))Total = Total + Valor
Next iActiveSheet.Range("A1").Value = TotalEnd Subd Sub
![Page 65: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/65.jpg)
www.serverms.es
Hacer Mientras (se cumpla la condición)ace e t as (se cu p a a co d c ó )Sentencia1Sentencia2Sentencia N
Fin Hacer Mientras
Do While (se cumpla la condición)Sentencia1Sentencia2Sentencia N
Loop
![Page 66: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/66.jpg)
www.serverms.es
Sub Ejemplo_27()Dim Nombre As StringDi Ci d d A S iDim Ciudad As StringWorkSheets("Hoja1").ActivateActiveSheet.Range("A2").ActivateN b I tB ("E t l N b (R t T i ) " "N b ")Nombre = InputBox("Entre el Nombre (Return para Terminar) : ", "Nombre")Do While Nombre <> ""
Ciudad = InputBox("Entre la Ciudad : ", "Ciudad")Ed d I tB ("E t l Ed d " "Ed d")Edad = InputBox("Entre la Edad : ", "Edad")Fecha = InputBox("Entra la Fecha : ", "Fecha")With ActiveCell
Value Nombre.Value = Nombre.Offset(0,1).Value = Ciudad
End WithActiveCell Offset(1 0) ActivateActiveCell.Offset(1,0).ActivateNombre = InputBox("Entre el Nombre (Return para Terminar) : ", "Nombre")
LoopEnd SubEnd Sub
![Page 67: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/67.jpg)
www.serverms.es
DoNombre = InputBox("Entre el Nombre (Return para Terminar) : ", "Nombre")Ciudad = InputBox("Entre la Ciudad : ", "Ciudad")Edad = Val(InputBox("Entre la Edad : ", "Edad"))fecha = CDate(InputBox("Entra la Fecha : " "Fecha"))fecha = CDate(InputBox( Entra la Fecha : , Fecha ))With ActiveCell.Value = Nombreff ( ) l d d.Offset(0, 1).Value = Ciudad
.Offset(0, 2).Value = Edad
.Offset(0, 3).Value = fecha( , )End WithActiveCell.Offset(1, 0).ActivateMas Datos = MsgBox("Otro registro ?" vbYesNo + vbQuestion “Datos")Mas_Datos = MsgBox( Otro registro ? , vbYesNo + vbQuestion, Datos )‘Mientras Mas_Datos = vbYesLoop While Mas_Datos = vbYes
![Page 68: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/68.jpg)
www.serverms.es
DoNombre = InputBox("Entre el Nombre (Return para Terminar) : ", "Nombre")Ciudad = InputBox("Entre la Ciudad : ", "Ciudad")Edad = Val(InputBox("Ent re la Edad : ", "Edad"))fecha = CDate(InputBox("Fecha Nac : ", "Fecha"))( p ( , ))With ActiveCell
.Value = NombreOffset(0 1) Value = Ciudad.Offset(0, 1).Value = Ciudad.Offset(0, 2).Value = Edad.Offset(0, 3).Value = fecha
E d Wi hEnd WithActiveCell.Offset(1, 0).ActivateMas_Datos = MsgBox("Otro registro ?", vbYesNo + vbQuestion, "Entrada de datos")'Hasta que Mas_Datos sea igual a vbNoLoop Until Mas_Datos = vbNo
![Page 69: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/69.jpg)
www.serverms.es
Sub Ejemplo_29()Dim Nuevo Nombre As String_ gDim Hoja As Worksheet'Para cada hoja del conjunto WorkSheetsFor Each Hoja In WorksheetsNuevo_Nombre = InputBox("Nombre de la Hoja : " & Hoja.Name, "Nombrar Hojas")Hojas )If Nuevo_Nombre <> "" Then
Hoja.Name = Nuevo_NombreEnd If
NextEnd SubEnd Sub
![Page 70: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/70.jpg)
www.serverms.es
Sub Ejemplo_30()Dim R As Rangeg'Para cada celda del rango A1:B10 de la hoja activaFor Each R In ActiveSheet.Range("A1:B10")R.Value = InputBox("Entrar valor para la celda " & R.Address, "Entrada de valores")NextEnd SubEnd Sub
![Page 71: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/71.jpg)
www.serverms.es
Crear un cuadro de dialogoCrear un cuadro de dialogoIntroducir, ver, … datosH i O iHerramientas > Opciones
Aplicaciones de aspecto profesionalMás guiado e intuitivo
![Page 72: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/72.jpg)
www.serverms.es
Abrir Editor de VB (Alt+F11)Abrir Editor de VB (Alt+F11)Insertar un objeto Userform.S l i l Lib◦ Seleccionamos el Libro◦ Botón drcho Insertar > Userform
![Page 73: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/73.jpg)
www.serverms.es
Podemos diseñar nuestro formulario con controlesPodemos diseñar nuestro formulario con controles
Situándonos encima vemos la descripción del control
![Page 74: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/74.jpg)
www.serverms.es
Seleccionar objetos: sirve para seleccionar controles insertados en el UserformSeleccionar objetos: sirve para seleccionar controles insertados en el UserformLabel: sirve para poner un título o un texto.Textbox: sirve para que un usuario introduzca datos. C b i i lij ió d liComboBox: sirve para que un usuario elija una opción de una lista.ListBox: sirve para que un usuario rellene o elija varias opciones de una lista.CheckBox: sirve para que un usuario active una determinada función.OptionButton: Seleccionar una opción determinada entre varias posibilidades. ToggleButton: Activa o desactiva alguna funcionalidad. "Encendido" / "Apagado".
![Page 75: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/75.jpg)
www.serverms.es
Frame: sirve para agrupar elementos de un UserformFrame: sirve para agrupar elementos de un UserformCommandButton: es un simple botón que nos permite ejecutar acciones.TabStrip: en un mismo Userform se pueden crear distintas secciones.
l i i U f d di i á iMultiPage: en un mismo Userform se pueden crear distintas páginas.ScrollBar: Para listas con muchos elementos el scrollbar nos permite navegarlos.SpinButton: permite aumentar o disminuir valores.Image: permite introducir imágenes en el Userform.RefEdit: permite hacer referencia a una celda de Excel.
![Page 76: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/76.jpg)
www.serverms.es
![Page 77: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/77.jpg)
www.serverms.es
Establecer objetivo y controlesEstablecer objetivo y controles◦ Objetivo
Crear un Userform para que un usuario complete unos datosCrear un Userform para que un usuario complete unos datos personales (Nombre, Edad y Fecha de Nacimiento). Luego que el usuario complete sus datos al apretar un botón los mismos se l á bl d E lvolcarán en una tabla de Excel.
◦ Los controles que utilizaremos son:◦ Los controles que utilizaremos son:Textbox: para que el usuario ingrese los datosLabel: para darle el nombre de los TextboxpCommandButton: para proceder con el ingreso de datos o cancelar
![Page 78: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/78.jpg)
www.serverms.es
Creamos la tabla en la hojaCreamos la tabla en la hoja
C U f (UF)Creamos un Userform (UF)
En el código del Agregar:
![Page 79: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/79.jpg)
www.serverms.es
Private Sub agregar Click()g g _ ()'definimos las variablesDim iFila As LongDim ws As Worksheet
' Copia los datos a la tabla excelws.Cells(iFila, 1).Value =
Me.TBNombre.ValueSet ws = Worksheets(1)
' Encuenta la siguiente fila vacía
ws.Cells(iFila, 2).Value = Me.TBEdad.Value
ws.Cells(iFila, 3).Value = Me TBFecha Valueg
iFila = ws.Cells(Rows.Count, 1) _.End(xlUp).Offset(1, 0).Row
Me.TBFecha.Value
' Limpa el formularioMe TBNombre Value = ""
' Verifica que se ingrese un nombreIf Me.TBNombre.Value = "" ThenMe.TBNombre.SetFocus
Me.TBNombre.Value = Me.TBEdad.Value = ""Me.TBFecha.Value = ""Me TBNombre SetFocus
MsgBox "Debe ingresar un nombre"Exit SubEnd If
Me.TBNombre.SetFocusEnd Sub
![Page 80: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/80.jpg)
www.serverms.es
Desarrollar funciones macro separadasDesarrollar funciones macro separadasUna única función “Main” que llame a todas
Sub Macro1()'El código de mi Macro1Macro2
Sub Macro1()'El código de mi Macro1Call Macro2
End Sub End Sub
![Page 81: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/81.jpg)
www.serverms.es
Sub SuperMacro()p ()'Asigna Formato NuméricoSelection.NumberFormat = "#,##0;[Red]#,##0“
'Asigna BordesgWith Selection.Borders.LineStyle = xlContinuous.Weight = xlThin
Sub Macro1()Call FormatoNCall Bordesg
.ColorIndex = xlAutomaticEnd With
'Asigna Color de Relleno
Call BordesCall RellenoEnd Sub
With Selection.Interior.ColorIndex = 36.Pattern = xlSolid.PatternColorIndex = xlAutomatic
End WithEnd Sub
![Page 82: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/82.jpg)
www.serverms.es
Sub FormatoN() Sub Relleno()Sub FormatoN()'Asigna Formato NuméricoSelection.NumberFormat =
"# ##0;[Red]# ##0“
Sub Relleno()'Asigna Color de RellenoWith Selection.Interior
C l I d 36#,##0;[Red]#,##0End Sub
Sub Bordes()
.ColorIndex = 36
.Pattern = xlSolid
.PatternColorIndex = xlAutomaticSub Bordes()'Asigna BordesWith Selection.Borders
End WithEnd Sub
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic.ColorIndex xlAutomaticEnd With
End Sub
![Page 83: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/83.jpg)
www.serverms.es
Sub Macro() Modo DepuraciónSub Macro()range("a2).selectEnd Sub
Modo Depuración◦ Ejecuta Paso a Paso◦ Determina mejor donde está el
Sab Macro()Range("A2").Select
error
End Sub
Sub Macro()Sub Macro()If Range("a2").value = 2 ThenMsgBox "Mal“End Sub
![Page 84: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/84.jpg)
www.serverms.es
Podemos convertir nuestra macro en ComplementoPodemos convertir nuestra macro en ComplementoUtil para posible distribución.
Desde el Editor de VB◦ Archivo > Guardar como…◦ Guardar como tipo: Complemento de Microsoft Excel (XLA)
Para instalarlo◦ Herramientas > Complementos > Examinar◦ Herramientas > Complementos > Examinar
![Page 85: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/85.jpg)
www.serverms.es
Existen 3 niveles de seguridad (depende de la versión)Existen 3 niveles de seguridad (depende de la versión)Recomendable “Medio”
![Page 86: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/86.jpg)
www.serverms.es
Al igual que hojas o el Libro las macros se puedenAl igual que hojas o el Libro, las macros se pueden proteger◦ Herramientas > Propiedades de VBAProject >Proteger◦ Herramientas > Propiedades de VBAProject...>Proteger
![Page 87: MCSE MCT · 1. Creamos un Libro Excel llamado Libro 1.Como la hicimos 1. Creamos un Libro Excel llamado Libro1 2 Herramientas > Macros >Grabar macro 2. Abrimos el editor de macros](https://reader035.vdocuments.mx/reader035/viewer/2022070221/6138eec7a4cdb41a985b609b/html5/thumbnails/87.jpg)
www.serverms.es
Evitar actualización de pantallaEvitar actualización de pantallaApplication.ScreenUpdating=False
Prevenir cálculos mientras se ejecuta el códigoApplication Calculation = xlCalculationManualApplication.Calculation = xlCalculationManual'El código de la macro aquíApplication.Calculation = xlCalculationAutomaticpp
Evitar el uso de Copiar, Pegar y SeleccionarEvitar el uso de Copiar, Pegar y Seleccionar◦ Range("C10:C12").Copy Range("E10")