La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Macros en Excel Curso Excel Avanzado: Excel con Macros Sesión 1:

Presentaciones similares


Presentación del tema: "Macros en Excel Curso Excel Avanzado: Excel con Macros Sesión 1:"— Transcripción de la presentación:

1 Paul Leger http://pleger.cl
Macros en Excel Curso Excel Avanzado: Excel con Macros Sesión 1: 1) Activar modo "Programador" en Excel 2) Habilitar el uso de macros en Excel 3) Macros de pulsaciones (ie. macros creadas automáticamente) clase 2: 4) Breve introducción a la programación 5) Creando una simple macro 6) Modificando celdas con macros clase 3: 7) Agregando y programando botones en Excel 8) Tomando decisiones con macros (IF) clase 4: 9) Recorrer una tabla con macros (FOR) 10) Cambiando formatos y colores de las celdas con macros Paul Leger

2 ¡¡Advertencia!! Para este curso, se supone que el estudiante tiene conocimiento básico de programación (en particular Python) Básico: input/output, condicional, ciclos, listas

3 Tablas dinámicas y sus limitaciones
Tablas dinámicas son útiles para generar diferentes tipos de reportes. Nota: si usted no conoce tablas dinámicas, estúdiela Sin embargo, tablas dinámicas no pueden generar todos los informes requeridos

4 Macros Una macro es un pedazo de código escrito en un lenguaje de programación llamado Visual Basic (VB) Las macros permiten interactuar/modificar con documentos de Office (ej. Libro de Excel) O modificar la misma herramienta de Office (ej. Crear su propia versión de Excel) En todas las herramientas de Office se pueden ocupar macros

5 Habilitar el Modo “Programador de Macros”
En office 2007: -> Símbolo de Excel > Opciones > Mas frecuentas > Habilitar fichas del desarrollador En office 2010: -> Símbolo de Excel > Opciones > Personalizable «ribbon» > Habilitar «desarrollador» NOTA: En otras herramientas office, también es posible habilitar el modo macros

6 Aquí nos concentraremos
Modo Programador Aquí nos concentraremos

7 Macros & Visual Basic La tableta de programador permite la administración Macros Se puede crear, guardar, editar, borrar macros Las macros quedan incluidas dentro del archivo Excel usado (o dentro del mismo programa Excel). Recomendable: guardarla en el archivo en el archivo Excel

8 Permitir usar Macros en Excel
Las macros pueden ejecutar programas maliciosos (algunos virus vienen por acá), Excel no las permite por omisión. Así que debemos habilitarlas ¡NO HABRÁ EXCEL CON MACROS DE LUGARES DESCONOCIDO!

9 Un Ejemplo de Macro Un botón que muestra el valor de la celda «A1»
Mirar Pizarra Sub Button1_Click() MsgBox ("El Dato es " & Cells(1, 1).Value) End Sub

10 Antes de programar de verdad… Veamos algo más sencillo
MACROS DE PULSACIONES (Códigos que representan lo que un usuario hizo durante un periodo de tiempo en Excel)

11 Macro de Pulsaciones Excel permite crear macros automáticamente, es decir, genera automáticamente código de Visual Basic Por lo general, el código generado es sumamente enredado. No Reemplazan al programador de macros

12 Ejemplo de Macro de Pulsación
Una macro que centre y ponga con negrita estas Celdas Nombre Apellido Pat Apellido Mat Nota Preguntará por el atajo/shortcut de la macro Nombre Apellido Pat Apellido Mat Nota Detener la grabación de la macro

13 Como ver el código de una Macro
Podemos ver los códigos de las macros Podemos ver la lista de macros que hemos desarrollado

14 Código Generado Por Una Macro de Pulsación
Sub Macro1() ' ' Macro1 Macro ' Keyboard Shortcut: Ctrl+t With Selection .Font.Bold = true .HorizontalAlignment = xlCenter .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .ShrinkToFit = True .MergeCells = False End With End Sub Shortcut de la macro Selección de celdas Font negrita Horizontalmente centrado Verticalmente abajo Salto de linea Angulo del texto Reducir al texto Combinar celdas ¡NO SE ASUSTE! USTED NO ESCRIBIRÁ CÓDIGO TAN COMPLEJO

15 Ejercicio Cree una macro de pulsación que ponga en cursiva y de color rojo las letras de la siguiente fila NOTA: Para probar su macro, recuerde el shortcut/atajo asignado y deshaga los cambios antes de ejecutar la macro nuevamente Nombre Apellido Pat Apellido Mat Nota

16 ¿Cómo guardar un archivo Excel que soporte macros?
Un archivo debe ser guardado como: «Soporte para macros» o «Macros Habilitadas» La extensión de este archivo debe ser: «.XLSM»

17 Utilidad de Macros de Pulsación
Para hacer procesos repetitivos y tediosos en un solo paso Mire la pizarra

18 Ejercicios de Macros pulsaciones:
Una macro que asigna el formato de número (y color de fondo amarillo) a la celda 2,2 Una macro que formatee el texto con negrita a todas las celdas de la fila 2 Que elimine la última columna y mueva la tercera columna al final NIVEL NINJA. Una macro que formatee el texto con negrita a cualquier fila seleccionada NOTA: NO OLVIDE PARAR LA GRABACIÓN CUANDO TERMINE HACER LA OPERACIÓN

19 Un simple programa en Visual Basic
Dim numero1 as Integer Dim numero2 as Integer Dim resultado as Integer numero1 = numero2 = resultado = numero1 + numero MsgBox (resultado) variables operaciones Muestra el resultado

20 Variables Las variables pueden contener valores numéricos enteros y/o decimales, o pueden contener incluso texto Ejemplos: variable1 = 3 variable2 = 4.1 variable3 = «texto»

21 Declaraciones de variables
A diferencia de Python, toda variable debería ser declarada antes de ser usada. Esta debe ser declarada con su tipo correspondiente (Integer, Double, String) Ejemplos: Dim variable1 as Integer ‘Es un entero Dim variable2 as Double ‘Es un decimal Dim variable3 as String ‘Es un texto

22 Convierte de numero a texto
Instrucciones Algunas instrucciones permiten interacciones con Excel: MsgBox(MENSAJE). Muestra un mensaje de Texto como «popup» en Excel. Ejemplos: MsgBox(«Hola») MsgBox(«Hola, el numero es » + Str(3)) MsgBox («4 + 7 =« + Str(4 + 7)) Convierte de numero a texto ¿Qué hace?

23 Creando una Macro personalizada

24 Ejercicio 1 Cree una macro y escriba el siguiente código: Dim numero1 as Integer Dim numero2 as Integer Dim resultado as Integer numero1 = numero2 = 5 + numero resultado = numero1 + numero MsgBox (resultado) Luego ejecuten la macro desde

25 Celdas con una macro Cells(i,j).Value: contiene el valor de la celda de la fila i de la columna j. Por ejemplo: Dim var1,var2 as integer var1 = cells(1,1).value var2 = var MsgBox(«el valor es :» + str(var2))

26 Ejercicio 2 Crear una macro que muestre el siguiente texto. El área de una circunferencia y el volumen de una esfera de radio que se encuentra en celda (1,1).

27 Modificando celdas con una macro
Es posible cambiar los valores de una celda de una tabla. Ejemplo: Dim v1 as Double v1 = cells(2,3).Value cells(1,4).Value = v1 + cells(5,8).Value

28 Modificando celdas con una macro (3/3)
Es posible interactuar con los valores de las celdas de diferentes hojas escribiendo Sheets(«nombre de la hoja») antes de escribir Cells. Por ejemplo: Dim v1 as Integer v1 = Sheets(«Hoja 1»).Cells(1,1).Value Sheets(«Hoja 3»).Cells(1,1).Value = v1 + 4

29 Ejercicios: Escriba una macro que… (No olvide grabar su archivo con soporte de macros)
tome los valores de las celdas 1,1 y 1,2 y muestre la suma de esos valores en la celda 1,3 multiplique los valores de las celdas 1,1 de las primeras tres hojas. El resultado debe ser mostrado con un «pop up» (NIVEL NINJA) resuelva una ecuación cuadrática (a*x2 + b*x + c = 0). Los valores a, b y c están en las celdas 1,1 y 1,2 y 1,3. Las soluciones deben ser mostrados en las celdas 2,1 y 2,2. NOTA: La función para obtener la raíz cuadrada de un valor es sqr(x). Por ejemplo Dim a,b as Double a = 9 b = sqr(a) MsgBox(b)  Esto muestra 3

30 Botones: Agregando botones (1/2)

31 Botones: Agregando botones (2/2)
Asigne y modifique la macro con el código que se ejecutará cuando se pulse el botón

32 Ejercicios Escriba la siguiente tabla:
Nombre - Nota1 - Nota2 - Nota3 – Promedio Paul Pedro Jose Cree un botón que escriba el promedio de cada alumno


Descargar ppt "Macros en Excel Curso Excel Avanzado: Excel con Macros Sesión 1:"

Presentaciones similares


Anuncios Google