macros y visual basic para aplicaciones en excel · pdf fileexcel. en guardar macro en: ......

23
Macros y Visual Basic para Aplicaciones en Excel

Upload: phunganh

Post on 20-Feb-2018

254 views

Category:

Documents


3 download

TRANSCRIPT

Macros y Visual Basic para

Aplicaciones en Excel

Creación de Macro

Para grabar una macro debemos acceder a la pestaña Vista y despliega el submenú Macros y dentro de este submenu seleccionar la opción Grabar macro...

Creación de Macro

Además de esta opción en el menú podemos encontrar las siguientes opciones: Ver Macros... - Donde accedemos a un listado de

las macros creadas en ese libro. Usar referencias relativas - Con esta opcion

utilizaremos referencias reativas para que las macros se graben con acciones relativas a la celda inicial seleccionada.

Creación de Macro

Al seleccionar la opción Grabar macro..., lo primero que vemos es el cuadro de diálogo Grabar macro donde podemos dar un nombre a la macro (no está permitido insertar espacios en blanco en el nombre de la macro).

Creación de Macro

Podemos asignarle un Método abreviado: mediante la combinación de las tecla CTRL + "una tecla del teclado". El problema está en encontrar una combinación que no utilice ya Excel.

En Guardar macro en: podemos seleccionar guardar la macro en el libro activo, en el libro de macros personal o en otro libro.

En Descripción: podemos describir cuál es el cometido de la macro o cualquier otro dato que creamos conveniente.

Introducción al VBA

Es el lenguaje de macros de Microsoft Visual Basic que se utiliza para programar aplicaciones Windows y que se incluye en varias aplicaciones Microsoft. VBA permite a usuarios y programadores ampliar la funcionalidad de programas de Microsoft Office. Visual Basic para Aplicaciones es un subconjunto casi completo de Visual Basic 5.0 y 6.0.

Introducción al VBA

VBA viene integrado en aplicaciones de Microsoft Office, como Word, Excel y Access, Powerpoint y Visio. Prácticamente cualquier cosa que se pueda programar en Visual Basic 5.0 o 6.0 se puede hacer también dentro de un documento de Office, con la sola limitación que el producto final no se puede compilar separadamente del documento, hoja o base de datos en que fue creado; es decir, se convierte en una macro (o más bien súper macro).

Esta macro puede instalarse o distribuirse con sólo copiar el documento, presentación o base de datos.

Ejemplo de Macro

' Esta macro escribe el 1500 en la celda A1

Sub MiPrimeraMacro()

Range("A1").Value = 1500

End Sub

El Editor de VBA o Macros

El Editor de Visual Basic es la aplicación que trae Excel desde donde se escriben y guardan las macros o código VBA.

Se puede acceder al editor presionando Alt + F11.

El Código VBA

El comentario siempre comienza con el signo ' y no afecta para nada a la macro. Es un simple texto.

El nombre de la macro lo pondremos anteponiendo la palabra Sub los paréntesis de apertura y cierre al final. Conviene dar un nombre que nos indique que hace la macro.

La instrucción principal la colocaremos entre Sub y End Sub.

El fin siempre es igual, con la frase End Sub.

El Código VBA

Las macros consisten en operar sobre un Objeto, ya sea alterando una de sus Propiedades o ejecutando un Método sobre el mismo.

El Código VBA

Objeto: Es una parte de Excel Por ej. una celda de Excel, una hoja, un gráfico.

Propiedad: Es una característica del objeto Por ej. el valor de la celda, el nombre de una hoja,

el color de un gráfico.

Método: es una acción sobre el objeto > por ej. copiar la celda, borrar la hoja, agrandar el gráfico.

El Código VBA

' Esta macro muestra un texto en una ventana emergente

Sub MostrarTexto()

Msgbox "Ejemplo de Mensaje"

End Sub

El Código VBA

' Esta macro oculta las líneas de división de las celdas

Sub OcultarLineas()

ActiveWindow.DisplayGridlines = False

End Sub

El Código VBA

' Esta macro copia un rango a la celda activa

Sub CopiaRango()

Range("A1:A5").Copy Destination:=ActiveCell

End Sub

El Editor de VBA

Las principales ventanas de editor son:

Proyecto (arriba a la izquierda)

Propiedades (abajo a la izquierda)

Inmediato (arriba a la derecha)

Código (abajo a la derecha)

El Editor de VBA

En la ventana de Proyecto hay carpetas donde se guardarán y escribirán las macros.

Objetos: ThisWorkbook siempre está presente. Si escribimos una macro aquí la misma afectará a todo el libro.

Los módulos sirven para escribir macros a nivel genérico, sin estar relacionadas a la hoja o libro en particular.

El Editor de VBA

Se debe Recuerdar: antes de escribir una macro debes evaluar donde hacerlo.

Si es una macro que solo debe afectar una hoja en particular escríbela en los objetos de Hoja, en el nombre de Hoja correspondiente.

Si la macro debe afectar a todo un libro en particular escríbela en el objeto ThisWorkbook. Estas suelen ser macros que se ejecutan al abrir, cerrar o guardar el libro.

Si la macro es de tipo genérica escríbela en un Módulo.

Si quieres hacer un formulario utiliza el objeto Userform.

El Editor de VBA

La ventana inmediato sirve para escribir, ejecutar y probar un código macro rápidamente, sin tener que armar toda la macro.

Por ejemplo: podemos escribir

?thisworkbook.Sheets.Count

El Editor de VBA

La macro se puede ejecutar desde: El código fuente, posicionándonos en cualquiera de

las lineas, y presionando F5. Desde la ventana Macro y dando clic en ejecutar. Asignándole acceso directo con CTRL + Una letra

(no se aconseja utilizar combinaciones preestablecidas; Por eso lo que se hace es presionar Mayúsc antes de la letra de tal forma que la macro se ejecutará con Ctrl+Mayús+Letra y de esta forma no alterar las teclas de método abreviado por defecto de Excel.)

La Ficha Programador

La ficha programador permite mostrar el editor de VBA, así como la ventana de Macros.

La Definición del Código VBA

Como prácticamente todas las macros utilizan variables. Una variable es sencillamente un dato o valor que VBA guarda en memoria.

Para definir una variable utilizamos una sintaxis del tipo:

Dim NombreVariable as TipoVariableDim NombreVariable as TipoVariable

Dim: indica que estamos creando una variable

NombreVariable: escribimos el nombre de nuestra variable a gusto (sin espacios)

as: necesario para definir el tipo de variable

TipoVariable: debemos indicar si es una variable texto, fecha, valor, etc.

La Definición del Código VBA

Sub MiNombre ()

' Indicamos que "Nombre" es una variable "String" (texto)

Dim Nombre as String

' Le asignamos un valor a la variable (también podríamos indicarle una celda Excel)

Nombre = "Memin"

' Mostramos el valor de la variable en un mensaje

Msgbox Nombre

End Sub