Sie sind auf Seite 1von 14

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. AADIR 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 Bsicos sobre OOP. Insertar un nuevo modulo Insertar un procedimiento Ejecutar un procedimiento Ejecutar un procedimiento o funcin desde la hoja de clculo.

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

Macros en Excel Computacin II

MACROS
INTRODUCCION Es una combinacin de instrucciones que pueden ser ejecutadas automticamente con una simple pulsacin de teclas. La palabra Macro es una abreviatura de la palabra macroinstruccin. 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. Tambin se le puede asignar a una macro una combinacin de teclas para invocarla. Imaginemos que diariamente tenemos que arreglar una tabla de datos ponindole colores, formato, bordes, etc. Para posteriormente imprimirla. La ilustracin muestra la tabla normal:

Ejemplo01

Y asignndole el formato sera:

Para arreglar la tabla tendramos 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 nmeros. Ponerlo en cursiva OPERACIONES CON MACROS a. GRABAR UNA MACRO

Barra de Men Programador / Grabar Macro

Docente: Ing. Melissa Ruth Len Alvarado

Pgina 2

Macros en Excel Computacin II

b. EJECUTAR UNA MACRO

c. MODIFICAR UNA MACRO

Docente: Ing. Melissa Ruth Len Alvarado

Pgina 3

Macros en Excel Computacin II

Si pulsamos Opciones aparece la siguiente ventana:

Si pulsamos Modificar aparece la siguiente ventana:

Docente: Ing. Melissa Ruth Len Alvarado

Pgina 4

Macros en Excel Computacin 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 lnea 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 AADIR UN BOTON EN LA BARRA DE ACCESO RAPIDO QUE EJECUTE LA MACRO.

Sita el cursor en la celda A1

Docente: Ing. Melissa Ruth Len Alvarado

Selecciona la regin actual de la seleccin original Pgina 5

Macros en Excel Computacin 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 algn 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. PRCTICA 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 diseo de pgina. 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 orientacin 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 Len Alvarado

Pgina 6

Macros en Excel Computacin II

PROGRAMACION EXCEL CON VISUAL BASIC PARTE I


1. USO DEL EDITOR DE VISUAL BASIC Es la aplicacin que utilizaremos para crear la macro.

ALT + F11

Siempre tener activado la ventana de propiedades y el explorador de proyectos

Conceptos Bsicos sobre OOP Programacin 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 caractersticas 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. En el objeto serian color=rojo, Ancho=2 metros, largo= 3.5 metros.

Docente: Ing. Melissa Ruth Len Alvarado

Pgina 7

Macros en Excel Computacin II 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 casilla Column.- que contiene la columna de la casilla Row.- que contiene la fila de la casilla Font.- que contiene la fuente de la casilla Mtodos: Active.- activa una celda determinada Clear.- borra el contenido de una celda o rango de celdas Copy.- copia el contenido de la celda o rango de celdas en el portapapeles, etc. Insertar un nuevo modulo Un modulo sirve para agrupar procedimiento y funciones; los cuales sirven para agrupar instrucciones de cdigo que realizan una accin concreta. Par insertar mdulo nos vamos a Insertar / Modulo. Insertar un procedimiento Un procedimiento es un bloque de instrucciones de cdigo que sirven para llevar a cabo una tarea especfica. Sub nombre_procedimiento Conjunto de instrucciones End Sub Ejemplo 01: Desde el editor de VB digitar.

Representa el programa en s

Este procedimiento realiza lo siguiente: en la celda B3 escribe un texto, lo pone en negrita y adems letra de color azul. Ejecutar un procedimiento Existen dos maneras: Desde el Editor de Visual Basic Ejecutar / Ejecutar Sub Userform F5 Desde la hoja de clculo

2. VARIABLES

Docente: Ing. Melissa Ruth Len Alvarado

Pgina 8

Macros en Excel Computacin II Es un espacio de memoria que una funcin o procedimiento utiliza para guardar datos. Declaracin de una variable: Dim variable as tipo Ejm: Dim texto as string FUNCION INPUTBOX.Esta funcin 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 funcin. Ejemplo 01: Sub Entrar_Valor_01() Dim texto as string Texto= InputBox(Introduzca el texto, Entrada de datos) ActiveSheet.Range(B3).Value=texto ActiveSheet.Range(B3).Font.Bold=true ActiveSheet.Range(B3).Font.Color=RGB(255,0,0) End Sub Este ejemplo tambin se puede hacer sin variables: Sub Entrar_Valor() ActiveSheet.Range(B3).Value= InputBox(Introduzca el texto, Entrada de datos) ActiveSheet.Range(B3).Font.Bold=true ActiveSheet.Range(B3).Font.Color=RGB(255,0,0) End Sub

Docente: Ing. Melissa Ruth Len Alvarado

Pgina 9

Macros en Excel Computacin II Ejemplo 02: Introducir un texto en cualquier celda elegida por el usuario. Sub Entrar_Valor_02() Dim casilla as string Dim 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=texto ActiveSheet.Range(casilla).Font.Bold=true ActiveSheet.Range(casilla).Font.Color=RGB(255,0,0) End Sub

FUNCION MSGBOX Esta funcin muestra un mensaje en un cuadro de dialogo hasta que el usuario pulse un botn. La funcin devuelve un dato tipo entero en funcin del botn pulsado por el usuario. Sintaxis: MsgBox (Mensaje, Botones, Titulo)

Docente: Ing. Melissa Ruth Len Alvarado

Pgina 10

Macros en Excel Computacin II 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 botn Ok. Titulo.- Opcional, se muestra en la barra de titulo del cuadro de dialogo. Ejemplo: Sub MostrarMensaje() Dim x As Integer x = MsgBox("hola, Bienvenido a Macros en Excel 2007", vbAbortRetryIgnore, "Mensaje de Bienvenida") End Sub Listado de los diferentes botones: vbAbortRetryIgnore

vbAbortRetryIgnore vbApplicationModal vbCritical vbDefaultButton1 vbDefaultButton2 vbDefaultButton3 vbDefaultButton4 vbExclamation vbInformation . . .

Docente: Ing. Melissa Ruth Len Alvarado

Pgina 11

Macros en Excel Computacin II CONVERSION DE TIPOS DE DATOS Sub Sumando() Dim Numero1 as Integer Dim 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 nmero 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 conversin de tipos de datos: String a Integer Integer a String Date a String.

Docente: Ing. Melissa Ruth Len Alvarado

Pgina 12

Macros en Excel Computacin II

Sub Sumando() Dim Numero1 As Integer Dim Numero2 As Integer Numero1 = Val(InputBox("Ingrese el Primer valor ", "Entrada de datos")) Numero2 = Val(InputBox("Ingrese el Segundo valor ", "Entrada de datos")) ActiveSheet.Range("A1").Value = Numero1 + Numero2 End Sub Tenga en cuenta que para los ordenadores no es lo mismo el nmero 1 que el carcter 1. En los lenguajes de programacin la conversin de carcter a numero 1 se hace automticamente; en muchos casos esto es bueno y malo. Es bueno porque nos ahorra hacer las conversiones y es malo porque es ms difcil controlar ciertos casos. Para su informacin el ordenador guarda el numero 1 de la siguiente manera 00000001, mientras que el carcter 1 se guarda como 00110000. La Funcin Val (Dato String) convierte una cadena a valor numrico. Si la cadena a convertir contiene algn carcter no numrico devuelve cero. As si al pedir un valor se teclea Hola, la funcin Val devolver un cero. Funciones de conversin de tipos: Val(cadena).- convierte la cadena a un valor numrico. Str(Numero).- convierte el numero a una expresin 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 Len Alvarado

Pgina 13

Macros en Excel Computacin II

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

Docente: Ing. Melissa Ruth Len Alvarado

Pgina 14

Das könnte Ihnen auch gefallen