man macros - macros excel

Transcripción

man macros - macros excel
MANUAL DE MACROS
EXCEL 2010
1
CONTENIDO
1-COMO GRABAR UNA MACRO------------------------------------------------------------------------------------3
2-COMO EJECUTAR UNA MACRO QUE YA EXISTE-------------------------------------------------------------5
3-COMO EDITAR UNA MACRO QUE YA HEMOS GRABADO-------------------------------------------------8
4-COMO CREAR UNA MACRO DESDE CEROS-------------------------------------------------------------------10
5-COMO ELIMINAR LINEAS VACIAS CON UNA MACRO------------------------------------------------------15
6-COMO SELECCIONAR HOJAS, RANGOS Y CELDAS CON UNA MACRO---------- -----------------------16
7-COMO ABRIR UN ARCHIVO CON UNA MACRO--------------------------------------------------------------16
8-COMO PASAR DATOS DE UNA HOJA A OTRA----------------------------------------------------------------16
9-COMO ACTIVAR, GUARDAR Y CERRAR UN LIBRO DE EXCEL----------------------------------------------17
10-COMO TRAER EL NOMBRE DE UN LIBRO, HOJA O DIRECCION DE CELDA---------------------------17
11-COMO DEFINIR UNA VARIABLE EN VISUAL BASIC FOR APLICATION PARA EXCEL ----------------17
11-COMO PADAR A UNA VARIABLE EL NOMBRE DE LA HOJA------------------------------------------ ---18
13-COMO MOSTRAR EL VALOR DE UNA VARIABLE EN UNA CELDA O EN UN TEXTBOX-------------18
2
El presente manual es una reseña sobre la elaboración de macros desde el origen,
aquí aprenderemos como grabar una macro, como crear una macro desde los su
inicio.
COMO GRABAR UNA MACRO
Para grabar una macro seguimos los siguientes pasos
1-Abrimo Excel 2010
2-Seleccionamos el menú vista
3
3-Damos clic en la lista desplegable del grupo Macros, dentro de los conceptos que nos
aparecen al abrir la lista desplegable, seleccionamos Grabar Macro.
4-Una vez que demos clic en la lista desplegable en Grabar Macro aparecerá el siguiente
cuadro que nos pide poner el nombre a nuestra macro.
5-Le asignamos el nombre a la macro y damos clic en aceptar
6-Intensionalmente en la celda B3 escribimos la frase “HOLA MUNDO”.
7-Una vez hecho lo anterior detenemos la macro del mismo modo que como la activamos
4
Fíjense que en donde antes decía Gramar Macro, Ahora dice Detener Macro.
Hasta aquí hemos grabado nuestra primer macro.
Ahora vamos a ejecutar la macro anterior, para esto vamos a borrar la frase que escribimos
en la celda B3.
COMO EJECUTAR UNA MACR O QUE YA EXISTE
En el tema anterior vimos como grabar una macro, en este veremos como ejecutar esa macro
que ya grabamos.
1-Ejecutar una macro por medio de un Botón de Comando
Para realizar este paso es necesario tener agregado el comando de nuestra barra de
comandos en nuestra barra de herramientas.
Si nos fijamos nuestra barra de herramientas con cuenta con el comando para insertar un
botón en nuestra hoja de Excel.
Para poder ejecutar la macro por medio del botón es necesario contar con el comando
formularios en nuestra barra de herramientas.
5
Pasos para insertar el comando formulario a nuestra barra de herramientas.
Paso 1 Damos clic en la flecha que indica hacia debajo de la barra de herramientas y damos
clic en Mas Comandos.
Paso 2 Seleccione Todos los Comandos
Paso 3 de la lista de comandos buscamos el que diga Botón (Control de Formulario)
Paso 4 Una vez seleccionado el comando Botón, damos clic en Agregar
5-Una vez agregado, damos clic en Aceptar.
Nuestra barra de herramientas quedara así
6
Ahora para ejecuta la macro que grabamos anteriormente con el botón de formulario, damos
clic al botón y sin soltar el botón del mouse arrastramos el apuntados del mouse hasta la parte
de la hoja en donde queremos poner el botón y se nos abrirá una ventana como esta.
Seleccionamos la Macro2 y damos clic en Aceptar.
El botón quedara así
Ahora nuestro botón ya tiene asignada la macro que grabamos anteriormente, para ejecutarla
solo damos clic al botón.
7
Fíjense que al presionar el botón nos ejecuta la macro y la macro tiene como acción poner la
frase “HOLA MUNDO” en la celda B3.
COMO EDITAR UNA MACRO QUE YA HEMOS GRABADO
Existen dos formas para editar una macro la primera es por medio de la lista de macros.
En la lista despegable del Grupo Macros seleccionamos Ver Macros
Del recuadro que nos aparece seleccionamos la macro que queremos editar, luego damos clic
en el botón Modificar
Y nos aparecerá una ventana como esta.
8
De esta forma hemos entrado al editor VBA para Excel.
Hasta aquí ya hemos visto como grabar una macro, asignarle la macro a un botón de
formulario y como editar esa misma macro.
Ahora veremos cómo crear una macro desde ceros.
A diferencia de Grabar y Crear una macro, cuando nosotros la grabamos utilizamos la
grabadora de Excel para que la misma escriba los códigos que conformaran dicha macros.
En el caso de crear la macro, no utilizamos la grabadora de Excel, si no que nosotros mismos
escribimos los códigos que conformaran dicha macro.
9
COMO CREAR UNA MACRO DESDE CEROS
Una vez estando en la pantalla de Excel presionamos la combinación de teclas ALT + F11
Para entrar a la pantalla de VBA (Visual Basic for Aplication)
10
Luego insertamos un Módulo (Los módulos son los archivos en donde vamos a editar los
códigos de las macros)
Nos aparecerá una pantalla como esta
Aquí es donde vamos a escribir nuestra primer Macro
11
En la Imagen anterior escribimos nuestra primer macro, aunque no tiene código de acción.
Todas las macros de Excel comienzan con las Instrucción Sub después ponemos el nombre de
la macro luego abrimos y cerramos paréntesis, al dar Enter automáticamente se pune una
segunda línea con las instrucción End Sub
Ejemplos:
Sub My_Macro()
End Sub
Importante: Los nombre de las macros no deben llevar espacio para ellos sustituimos el
espacio por un guion bajo
My_Macro
Hasta el momento la Macro (My_Macro()) no tiene código de acción es decir al ejecutarla no
hará nada ya que no hay líneas de Instrucciones entre Sub y End sub.
Ahora le pondromos una orden de acción a la macro para que la ejecute
Sub My_Macro()
MsgBox(“HOLA MUNDO”)
End Sub
La orden que le acabamos de escribir a la macro es que al ejecutarla nos mande una caja de
texto con las línea “HOLA MUNDO”.
Para Ejecutar la macro desde la pantalla de VBA lo hacemos desde este comando.
12
Que se encuentra en la barra de herramientas de la misma pantalla.
Veamos el resultado de su ejecución.
Ahora bien si deseamos que la macro realice un cambio a la hoja de Excel
Sub My_Macro()
Range(“A2”).Value = 5+8
End Sub
Veamos el resultado al ejecutar la macro
13
Si nos fijamos a la macro le estamos indicando que en el Rango A2 ponga la sumatoria de 5 + 8
y la misma es igual a 13.
Hasta aquí ya hemos visto como crear una macro desde ceros con el editor de Visual Basic
para Aplicaciones de Excel.
A continuación veremos algunos ejemplos de macros más complejas no olvidemos que toda
instrucción que vas entre el Sub y End Sub la macro va a ejecutar dichas instrucciones.
COMO ELIMINAR LINEAS VACIAS EN UNA LISTA DE CELDAS
Sub Elimina_Lineas_Vacias()
Range(“A2”).Select
For i = 1 to 20
If ActiveCell.Value = “” Then
ActiveCell.Row.Delete
ActiveCell.Offset(-1,0).Select
End If
ActiveCell.Offset(1,0).Select
Next i
Con la macro anterior eliminamos las líneas vacías que hay entre la celda A2 a la Celda A20
14
Lista antes de ejecutar la macro
Lista después de ejecutar la macro
COMO SELECCIONAR HOJAS, RANGOS Y CELDAS CON UNA MACRO
Para seleccionar una hoja lo hacemos con la instrucción
Sheets(“nombre_de_la_hoja”).Select
Para seleccionar una Celda
Range(“A1”).Select
Cells(1,2).Select (en donde el 1 representa el número de línea y el 2 representa el número de
columna).
Para seleccionar un rango de celdas
Range(“A1:B20”).Select
Range(Cells(1,1),Cells(20,2)).Select
15
COMO ABRIR UN ARCHIVO CON UNA MACRO
Para abrir un archivo lo hacemos con la instrucción
WorkBooks.Open “C:\My_Archivo.xlsx”, UpdateLink = 3
Valores para UpdateLinks
0 = Las referencias externas no se actualizan
3 = Las referencias externas se actualizan automáticamente
COMO PASAR DATOS DE UNA HOJA A OTRA CON MACRO
Para pasar datos de una hoja a otra lo podemos hacer de dos maneras, la de copiar y pegar y
la del método (destination).
Pasar datos por el método de copiar y pegar.
Sheets(“Hoja1”).Select
Range(“A1:F100”).Copy
Sheets(“Hoja2”).Select
Range(“A2”).PasteSpecial xlPasteValues
Application.CutCopyMode = False
Con el código anterior pasamos los datos del rango a2 a la f100 de la hoja1 y los pegamos en
la celda a2 de la hoja2.
En este ejemplo estamos pasando solo los valores de celda, son tomar en cuenta las formulas,
formatos o bordes.
Pasar datos por el método (destination).
Este método es más sencillo solo que nos menos opciones de pegado.
Range(“a2:f100”).Copy Destination: WorkSheets(“Hoja2”).Range(“a2”)
Estos son algunos ejemplos de cómo podemos pasar datos de una hoja a otra anqué existen
otros, estos son los más usuales.
16
COMO ACTIVAR, GUARDAR Y CERRAR UN ARCHIVO DE EXCEL.
Guardar el libro activo
ActiveWorkBook.Save
ThisWorkBook.Save
Cerrar el libro activo
ActiveWorkBook.Close
ThisWorkBook.Close
Activar Otro Libro que tengamos abierto
Windows(“Nombre_del_otro_libro.xlsx”).Activate
COMO TRAER EL NOMBRE DEL ARCHIVO, HOJA O DIRECCION DE CELDA
Nombre del Archivo:
ThisWorkBook.Name
Nombre de la Hoja:
ActiveSheet.Name
Direction de Celda:
ActiveCell.Address
COMO DEFINIR UNA VARIABLE EN VISUAL BASIC FOR APLICATION PARA EXCEL
Para definir una variable primero necesitamos saber qué tipo de variable vamos a utilizar ya
que existen varios tipos según la necesidad de la misma.
En este caso mencionare 5 tipos de variable principales y como las definimos.
1-Número enteros
Dim x as Integer
2-Números con decimales
Dim x As Double
3-Cadenas de texto
Dim x as String
4-Variables lógicas
Dim x as Boolean
17
5-Variables de fecha
Dim x as Date
COMO PASAR A UNA VARIABLE EL NOMBRE DE UNA HOJA
Dim hja As String
hja = ActiveSheet.Name
Con estas líneas de código, le hemos pasado el nombre de la hoja a la variable hja, es decir si
nosotros seleccionamos diferentes hojas con diferentes nombres la variable ira tomando el
nombre de cada hoja activa.
Por ejemplos para seleccionar una hoja en vez de poner el nombre de la hoja pondremos la
variable que contiene dicho nombre.
Sheets(“hoja1”).Select lo sustituimos por Sheets(hja).Select
COM MOSTRAR EL VALOR DE UNA VARIABLE EN UNA CELDA O EN TEXTBOX
Para mostrar el valor de una variable lo podemos hacer de dos maneras.
1-Mostrarlo en una caja de texto.
2-Mostrarlo en una celda.
Mostrar el valor de una variable en una caja de texto.
Tomando en cuenta la variable del tema anterior hja = ActiveSheet.Name
MsgBox(“El nombre de la hoja es “ & hja & “”)
Mostrar el valor de la variable en la celda A2
Range(“a2”).Value = hja
18
19

Documentos relacionados