17
MACROS EN EXCEL CONTENIDO TEMATICO: MACROS 1. INTRODUCCION 2. OPERACIONES CON MACROS a) GRABAR UNA MACRO b) EJECUTAR UNA MACRO c) MODIFICAR UNA MACRO d) ELIMINAR UNA MACRO 3. AÑADIR UN BOTON EN LA BARRA DE ACCESO RAPIDO QUE EJECUTE LA MACRO. 4. PROBAR PASO A PASO NUESTRA MACRO 5. PRACTICA COMPLEMENTARIA - EJERCICIOS PROPUESTOS PROGRAMACION EXCEL CON VISUAL BASIC – PARTE I 1. USO DEL EDITOR DE VISUAL BASIC Conceptos Básicos sobre OOP. Insertar un nuevo modulo Insertar un procedimiento Ejecutar un procedimiento Ejecutar un procedimiento o función desde la hoja de cálculo. 2. VARIABLES e) FUNCION INPUTBOX f) FUNCION MSGBOX g) SENTENCIA OPTION EXPLICIT h) CONVERSION DE TIPOS DE DATOS i) OBJETO CELLS 3. ESTRUCTURAS DE CONTROL – PARTE I 3.1 ESTRUCTURAS DE DECISION IF… THEN … ENDIF IF… THEN … ELSE … ENDIF IF ANIDADAS OPERADORES LOGICOS (AND, OR, NOT) SELECT CASE

Conte Nidos Macros

Embed Size (px)

Citation preview

Page 1: Conte Nidos Macros

MACROS EN EXCEL

CONTENIDO TEMATICO:MACROS

1. INTRODUCCION2. OPERACIONES CON MACROS

a) GRABAR UNA MACROb) EJECUTAR UNA MACROc) MODIFICAR UNA MACROd) ELIMINAR UNA MACRO

3. AÑADIR UN BOTON EN LA BARRA DE ACCESO RAPIDO QUE EJECUTE LA MACRO.

4. PROBAR PASO A PASO NUESTRA MACRO5. PRACTICA COMPLEMENTARIA - EJERCICIOS PROPUESTOS

PROGRAMACION EXCEL CON VISUAL BASIC – PARTE I1. USO DEL EDITOR DE VISUAL BASIC

Conceptos Básicos sobre OOP. Insertar un nuevo modulo Insertar un procedimiento Ejecutar un procedimiento Ejecutar un procedimiento o función desde la hoja de cálculo.

2. VARIABLESe) FUNCION INPUTBOXf) FUNCION MSGBOXg) SENTENCIA OPTION EXPLICITh) CONVERSION DE TIPOS DE DATOSi) OBJETO CELLS

3. ESTRUCTURAS DE CONTROL – PARTE I 3.1 ESTRUCTURAS DE DECISION

IF… THEN … ENDIF IF… THEN … ELSE … ENDIF IF ANIDADAS OPERADORES LOGICOS (AND, OR, NOT) SELECT CASE

Page 2: Conte Nidos Macros

“Macros en Excel – Computación II”

MACROS

INTRODUCCION

Es una combinación de instrucciones que pueden ser ejecutadas automáticamente con una simple pulsación de teclas. La palabra Macro es una abreviatura de la palabra macroinstrucción. En ocasiones nos vemos en la necesidad de realizar una serie de tareas repetitivas en forma rutinaria; podemos crear una macro que nos evite ese trabajo.También se le puede asignar a una macro una combinación de teclas para invocarla. Imaginemos que diariamente tenemos que arreglar una tabla de datos poniéndole colores, formato, bordes, etc. Para posteriormente imprimirla.

La ilustración muestra la tabla normal:

Y asignándole el formato sería:

Para arreglar la tabla tendríamos que: Seleccionar el conjunto de datos. Darle un borde exterior de color rojo. Darle un color de relleno de la tabla. Darle un color de fuente. Darle el formato soles a los números. Ponerlo en cursiva

OPERACIONES CON MACROS

a. GRABAR UNA MACROBarra de Menú Programador / Grabar Macro

Docente: Ing. Melissa Ruth León Alvarado Página 2

Ejemplo01

Page 3: Conte Nidos Macros

“Macros en Excel – Computación II”

b. EJECUTAR UNA MACRO

c. MODIFICAR UNA MACRO

Docente: Ing. Melissa Ruth León Alvarado Página 3

Page 4: Conte Nidos Macros

“Macros en Excel – Computación II”

Si pulsamos Opciones aparece la siguiente ventana:

Si pulsamos Modificar aparece la siguiente ventana:

Docente: Ing. Melissa Ruth León Alvarado Página 4

Page 5: Conte Nidos Macros

“Macros en Excel – Computación II”

Aquí se muestran paso a paso todas las acciones que hemos realizado en la macro que Excel lo ha traducido al lenguaje VBA. Desde aquí podemos modificar cualquier línea con lo que modificaremos el comportamiento de la macro.La estructura del programa tiene la siguiente estructura:

Sub NombreMacro( )….Ordenes y acciones…..

End Sub

Observe que muchas órdenes hay que leerlas de derecha a izquierda:Range(“A1:C6”).Select Significa que hemos seleccionado el rango A1_C6

d. ELIMINAR UNA MACRO

AÑADIR UN BOTON EN LA BARRA DE ACCESO RAPIDO QUE EJECUTE LA MACRO.

Docente: Ing. Melissa Ruth León Alvarado Página 5

Sitúa el cursor en la celda A1

Selecciona la región actual de la selección original

Page 6: Conte Nidos Macros

“Macros en Excel – Computación II”

PROBAR PASO A PASO NUESTRA MACRO:

Es muy necesario e interesante ver paso a paso como se ejecuta nuestra macro, sobre todo cuando hay algún fallo para localizarlo y corregirlo.

- Vuelve hacer una copia de la hoja original.- Macro / Ejecutar macro paso a paso- Colocar las dos ventanas en paralelo en el monitor (VB, Excel)- En la ventana de VB pulse F8 para ejecutar por instrucciones y observa en la

ventana de Excel como se va ejecutando la macro.

PRÁCTICA COMPLEMENTARIA - EJERCICIOS PROPUESTOS Crear una macro que cambie el alto y ancho de una celda de 25 x 30 Crear una macro que muestre la hoja activa como vista diseño de página. Crear una macro que permita convertir de formato soles a euros. Grabar una macro que me permita colocar un formato de texto especial: Tipo

de letra verdana, azul oscuro, 13, negrita, y con fondo gris. Crear una macro que permita cambiar la orientación de la hoja a horizontal. Crear una macro que ingrese los meses: Enero, Febrero, Marzo, Abril a partir

de la celda A1 hacia abajo. Crear una macro que asigne el siguiente formato a una tabla: Arial, 10, color de

fondo turquesa claro, color de fuente azul. Crear una macro que permita mostrar el siguiente mensaje "Mi primer macro

escrita en Visual Basic".

Docente: Ing. Melissa Ruth León Alvarado Página 6

Page 7: Conte Nidos Macros

“Macros en Excel – Computación II”

PROGRAMACION EXCEL CON VISUAL BASIC – PARTE I

1. USO DEL EDITOR DE VISUAL BASICEs la aplicación que utilizaremos para crear la macro.

Ó

ALT + F11

Conceptos Básicos sobre OOP Programación orientada a objetos:

OBJETO.-Un objeto está definido por una clase. Por ejemplo tenemos el objeto coche, silla, casa, etc.Cuando definimos a un objeto se llama Clase. Así la clase coche seria como la representante de todos los coches del mundo; mientras que un objeto coche seria un coche en concreto.

PROPIEDADES.-Son las características de un objeto por ejemplo: color, forma, peso, medida, etc. Estas propiedades se definen en la clase y luego se particularizan en el objeto. Por ejm: en la clase coche las propiedades serian: color, ancho y largo.

Docente: Ing. Melissa Ruth León Alvarado Página 7

Siempre tener activado la ventana de

propiedades y el explorador de

proyectos

Page 8: Conte Nidos Macros

“Macros en Excel – Computación II”

En el objeto serian color=rojo, Ancho=2 metros, largo= 3.5 metros. METODOS.-Son los comportamientos y acciones que realiza un objeto. Esto se define en la clase, por ejm. Moverse().

En Excel nos encontramos con dos objetos: WorkSheet: Objeto hoja de calculo Range: Objeto casilla o rango de casilla.

Propiedades de Range:Value.- que contiene el valor de una casillaColumn.- que contiene la columna de la casillaRow.- que contiene la fila de la casillaFont.- que contiene la fuente de la casillaMétodos:Active.- activa una celda determinadaClear.- borra el contenido de una celda o rango de celdasCopy.- copia el contenido de la celda o rango de celdas en el portapapeles, etc.

Insertar un nuevo moduloUn modulo sirve para agrupar procedimiento y funciones; los cuales sirven para agrupar instrucciones de código que realizan una acción concreta. Par insertar módulo nos vamos a Insertar / Modulo.

Insertar un procedimientoUn procedimiento es un bloque de instrucciones de código que sirven para llevar a cabo una tarea específica.

Sub nombre_procedimiento

Conjunto de instrucciones

End Sub

Ejemplo 01: Desde el editor de VB digitar.

Este procedimiento realiza lo siguiente: en la celda B3 escribe un texto, lo pone en negrita y además letra de color azul.

Ejecutar un procedimientoExisten dos maneras:

Desde el Editor de Visual Basic Ejecutar / Ejecutar Sub Userform F5

Docente: Ing. Melissa Ruth León Alvarado Página 8

Representa el programa en sí

Page 9: Conte Nidos Macros

“Macros en Excel – Computación II”

Desde la hoja de cálculo

2. VARIABLESEs un espacio de memoria que una función o procedimiento utiliza para guardar datos. Declaración de una variable:

Dim variable as tipoEjm:

Dim texto as string

FUNCION INPUTBOX.-Esta función muestra una ventana para que el usuario ingrese datos. Cuando se pulsa Aceptar los datos pasan a la variable a la que se ha igualado la función.

Ejemplo 01:

Sub Entrar_Valor_01()

Dim texto as stringTexto= InputBox(“Introduzca el texto”, ”Entrada de datos”)ActiveSheet.Range(“B3”).Value=textoActiveSheet.Range(“B3”).Font.Bold=trueActiveSheet.Range(“B3”).Font.Color=RGB(255,0,0)

End Sub

Este ejemplo también se puede hacer sin variables:

Sub Entrar_Valor()

ActiveSheet.Range(“B3”).Value= InputBox(“Introduzca el texto”, ”Entrada de datos”)ActiveSheet.Range(“B3”).Font.Bold=trueActiveSheet.Range(“B3”).Font.Color=RGB(255,0,0)

End Sub

Docente: Ing. Melissa Ruth León Alvarado Página 9

Page 10: Conte Nidos Macros

“Macros en Excel – Computación II”

Ejemplo 02:

Introducir un texto en cualquier celda elegida por el usuario.Sub Entrar_Valor_02()

Dim casilla as stringDim texto as string

Casilla= InputBox(“En que casilla quiere ingresar el valor”, ”Entrar casilla”)Texto= InputBox(“Introduzca el texto para la casilla” & casilla, ”Entrada de datos”)ActiveSheet.Range(casilla).Value=textoActiveSheet.Range(casilla).Font.Bold=trueActiveSheet.Range(casilla).Font.Color=RGB(255,0,0)

End Sub

Docente: Ing. Melissa Ruth León Alvarado Página 10

Page 11: Conte Nidos Macros

“Macros en Excel – Computación II”

FUNCION MSGBOXEsta función muestra un mensaje en un cuadro de dialogo hasta que el usuario pulse un botón. La función devuelve un dato tipo entero en función del botón pulsado por el usuario.

Sintaxis:

MsgBox (Mensaje, Botones, Titulo)

Mensaje.- Obligatorio, se muestra dentro del cuadro de dialogo.Botones.- Opcional, sirve para mostrar determinados botones e iconos dentro del cuadro de dialogo. Si se omite este argumento asume valor 0 que corresponde a un único botón Ok.Titulo.- Opcional, se muestra en la barra de titulo del cuadro de dialogo.

Ejemplo:

Sub MostrarMensaje()Dim x As Integerx = MsgBox("hola, Bienvenido a Macros en Excel 2007", vbAbortRetryIgnore, "Mensaje de Bienvenida")End Sub

Listado de los diferentes botones:

vbAbortRetryIgnore

vbAbortRetryIgnorevbApplicationModalvbCriticalvbDefaultButton1vbDefaultButton2vbDefaultButton3vbDefaultButton4vbExclamationvbInformation...

Docente: Ing. Melissa Ruth León Alvarado Página 11

Page 12: Conte Nidos Macros

“Macros en Excel – Computación II”

Docente: Ing. Melissa Ruth León Alvarado Página 12

Page 13: Conte Nidos Macros

“Macros en Excel – Computación II”

CONVERSION DE TIPOS DE DATOS

Sub Sumando()Dim Numero1 as IntegerDim Numero2 as Integer

Numero1=InputBox(“Ingrese el Primer valor ”, “Entrada de datos”)Numero2=InputBox(“Ingrese el Segundo valor ”, “Entrada de datos”)

ActiveSheet.Range(“A1”).Value=Numero1 + Numero2

End Sub

Si ingresamos una cadena en vez de un número sale el siguiente error en el tipo de datos, debido a que las variables Numero1 y Numero2 se han declarado tipo entero.Existen funciones que permite conversión de tipos de datos:String a IntegerInteger a StringDate a String….

Docente: Ing. Melissa Ruth León Alvarado Página 13

Page 14: Conte Nidos Macros

“Macros en Excel – Computación II”

Sub Sumando()Dim Numero1 As IntegerDim Numero2 As IntegerNumero1 = Val(InputBox("Ingrese el Primer valor ", "Entrada de datos"))Numero2 = Val(InputBox("Ingrese el Segundo valor ", "Entrada de datos"))ActiveSheet.Range("A1").Value = Numero1 + Numero2End Sub

Tenga en cuenta que para los ordenadores no es lo mismo el número 1 que el carácter “1”. En los lenguajes de programación la conversión de carácter a numero 1 se hace automáticamente; en muchos casos esto es bueno y malo. Es bueno porque nos ahorra hacer las conversiones y es malo porque es más difícil controlar ciertos casos.Para su información el ordenador guarda el numero 1 de la siguiente manera 00000001, mientras que el carácter “1” se guarda como 00110000.

La Función Val (Dato String) convierte una cadena a valor numérico. Si la cadena a convertir contiene algún carácter no numérico devuelve cero. Así si al pedir un valor se teclea “Hola”, la función Val devolverá un cero.

Funciones de conversión de tipos:Val(cadena).- convierte la cadena a un valor numérico.Str(Numero).- convierte el numero a una expresión cadena.

OBJETO CELLS.-Sirve como el objeto Range, para referenciar a una casilla o rango de casillas.

Cells(fila, columna) Por ejemplo:

Colocar “Hola” en la celda A1 de la hoja activa seria:ActiveSheet.cells(1,1).Value=”Hola”

Colocar “Hola” en la celda A1 hasta la celda B8 de la hoja activa seria:Range(cells(1,1),Cells(8,2)).Value=”Hola”

Docente: Ing. Melissa Ruth León Alvarado Página 14

Page 15: Conte Nidos Macros

“Macros en Excel – Computación II”

Otra forma interesante es la siguiente:Range(“A5:B10”).Cells(2,1).Value=”Macros”

Docente: Ing. Melissa Ruth León Alvarado Página 15