Monografías Plus      Agregar a favoritos      Ayuda      Português      Ingles     

Manual de VBA (Visual Basic for Applications)

Enviado por Felipe Ordenes



1 INTRODUCCION

VBA (Visual Basic for Applications) es un lenguaje de programación que permite crear macros, es decir, un conjunto de instrucciones de código que permiten realizar una tarea determinada. Excel 2007 trae incorporado un editor de VBA, por lo que las macros se programan dentro del mismo programa Excel.

Las macros sirven para:

- Automatizar procesos.

- Crear funciones.

- Crear comandos, complementos y menús.

- Crear aplicaciones.

Cuando se habla de macros se habla de Objetos, Propiedades y Métodos (OPM). Estos son los 3 conceptos generales más importantes que se deben conocer a la hora de programar macros.

Objetos: Corresponden a los elementos mismos, tales como una hoja, un libro, el Excel mismo, una tabla, un rango, un gráfico, una columna, una fila, etc.

Propiedades: Corresponden a las características de cada objeto, tales como el ancho, alto, color, etc.

Métodos: Corresponden a las acciones que se pueden ejercer sobre los objetos, tales como abrir, cerrar, ejecutar, activar, mover, copiar, borrar, etc.

1.1 ELEMENTOS

1.1.1 Ventana Proyecto

La ventana proyecto contiene las carpetas donde se guardan las macros. La ventana proyecto es la siguiente.

Monografias.com

1.1.2 Ventana Propiedades

La ventana propiedades contiene las propiedades del objeto seleccionado. La ventana propiedades es la siguiente.

Monografias.com

1.1.3 Ventana Código

La ventana código contiene el código de la macro. La ventana código es la siguiente.

Monografias.com

1.1.4 Ventana Inmediato

La ventana inmediato permite escribir, ejecutar y probar un código rápidamente, sin tener que armar toda la macro con la estructura, sino colocando un signo de interrogación previo a la línea de codigo. La ventana inmediato es la siguiente.

Monografias.com

1.1.5 Ventana Locales

La ventana locales contiene todas las variables del objeto actual y los valores de estas cuando el código se esta ejecutando. La ventana locales es la siguiente.

Monografias.com

1.1.6 Ventana Inspección

La ventana inspección contiene las expresiones a evaluar previamente definidas. La ventana inspección es la siguiente.

Monografias.com

2 ESTRUCTURA

2.1 VARIABLES

2.1.1 Tipos de Variables

Monografias.com

2.1.2 Variables Locales

Corresponden a variables declaradas dentro de una macro, y que solo pueden ser usadas dentro de esta. Cuando la macro termina de ejecutarse, la variable desaparece y se libera la memoria. La declaración de una variable local es la siguiente.

Dim NombreVariable as TipoVariable

2.1.3 Variables Públicas

Corresponden a variables declaradas fuera de todas las macros, y que están disponibles para todas. La declaración de una variable pública es la siguiente.

Public NombreVariable as TipoVariable

2.1.4 Variables Estáticas

Corresponden a variables declaradas dentro de una macro, y que conservan su valor mientras el módulo, módulo de clase o userform estén en uso o abiertos. La declaración de una variable estática es la siguiente.

Static NombreVariable as TipoVariable

2.1.5 Convertir Variables

Función

Tipo Devuelto

Cbyte

Byte

CInt

Integer

CLong

Long

CCur

Currency

CSng

Single

CDbl

Double

CDec

Decimal

CDate

Date

CStr

String

CVar

Variant

CBool

Boolean

2.2 SENTENCIAS

2.2.1 Do Loop

Do Loop se utiliza para repetir las mismas instrucciones varias veces hasta que una condición tenga lugar.

Do [Instrucciones] Loop

2.2.2 For Next

For Next se utiliza para repetir un grupo de instrucciones un número especificado de veces.

For [Contador] = [Principio] To [Fin] Step [Incremento] [Instrucciones]

If [Condicion] then

[Exit For] End If

Next [Contador]

2.2.3 For Each Next

For Each Next se utiliza para repetir un grupo de instrucciones para cada elemento de una matriz o colección.

For Each [Elemento] In [Grupo] [Instrucciones]

If [Condicion] then

[Exit For] End If

Next [Elemento]

2.2.4 While Wend

While Wend se utiliza para repetir una serie de instrucciones mientras se cumpla una determinada condición, es decir, tenga el valor True.

While [Condicion] [Intrucciones] Wend

2.2.5 GoTo

GoTo se utiliza para variar el sentido que debería tomar una macro, ya que cuando una macro llega a una línea que contiene dicha instrucción "salta" al lugar especificado en GoTo.

GoTo [Linea] Linea:

2.2.6 With End With

With End With se utiliza para ejecutar una serie de instrucciones sobre un único objeto o sobre un tipo definido por el usuario. Permite realizar múltiples operaciones sobre el mismo objeto.

With [Objeto] [Instrucciones] End With

2.2.7 If Then

If Then se utiliza para escoger entre 2 o más posibilidades, para decidir sobre que es lo que se quiere, entre una serie de alternativas.

If [Condicion] Then

[Instrucciones]

ElseIf [CcondicionElseIf] Then

[InstruccionesElseIf] Else [InstruccionesElse] End If

2.2.8 Select Case

Select Case se utiliza cuando las alternativas en una estructura de If Then son muchas. En tal caso conviene evitar el If Then y hacer uso de Select Case, que permite ejecutar uno de varios grupos de instrucciones, dependiendo del valor de una expresión.

Select Case [Expresion-m] Case [Expresion-1]

[Instrucciones-1]

Case [Expresion-2] [Instrucciones-2]

…..

Case [Expresion-n] [Instrucciones-n]

Case Else

[InstruccionesElse] End Select

2.2.9 DoEvents

DoEvents se utiliza para ceder el control de la ejecución al sistema operativo, para que éste pueda procesar otros eventos. El control no se devuelve hasta que el sistema operativo haya terminado de procesar los eventos en cola y se hayan enviado todas las teclas de la cola SendKeys.

DoEvents()

2.2.10 On Error GoTo

On Error GoTo se utiliza para controlar un error de macro en caso de existir. Permite indicar que en caso de existir un error haga un salto a otra línea donde se le indique cómo proceder.

On Error GoTo CasoError

CasoError:

2.2.11 On Error Resume Next

On Error Resume Next se utiliza para controlar un error de macro en caso de existir. Permite indicar que en caso de existir un error lo omita.

3 ARRAYS

Un Array corresponde a una cadena de elementos. Cada elemento de un array tiene un número de índice que lo identifica como único.

3.1 ARRAYS FIJOS

Un array fijo corresponde a aquel que posee un número fijo de elementos. La declaración

de un Array fijo de "n" elementos se hace de las siguientes formas.

Dim NombreArray(0 to n) as TipoVariable

Dim NombreArray(n) as TipoVariable

3.2 ARRAYS VARIABLES

Un array variable corresponde a aquel que puede modificarse el número de elementos. La declaración de un Array variable se hace de la siguiente forma.

Dim NombreArray() as TipoVariable

3.3 ARRAYS BIDIMENSIONALES

Un array bidimensional corresponde a aquel que posee 2 dimensiones, es decir, en vez de cadena corresponde a una matriz de elementos. La declaración de un Array bidimensional fijo de "n" y "m" elementos se hace de las siguientes formas.

Dim NombreArray(1 to n, 1 to m) as TipoVariable

Dim NombreArray(n, m) as TipoVariable

3.4 FUNCIONES DE ARRAY

3.4.1 Redim

Redimensiona el Array borrando la información que tenia guardada. La función Redim se usa de la siguiente forma.

Redim NombreArray(n)

3.4.2 Redim Preserve

Redimensiona el Array conservando la información que tenia guardada. La función Redim

Preserve se usa de la siguiente forma.

Redim Preserve NombreArray(n)

3.4.3 LBound

Devuelve el índice inferior del array. La función LBound se usa de la siguiente forma.

LBound(NombreArray)

3.4.4 UBound

Devuelve el índice superior del array. La función UBound se usa de la siguiente forma.

UBound(NombreArray)

3.4.5 Join

Devuelve un String que contiene todos los elementos del Array separados por un elemento separador. La función Join se usa de la siguiente forma.

Join(NombreArray, "Separador")

3.4.6 Split

Devuelve un Array cuyos elementos corresponden a los que conforman un String separados por un elemento separador. La función Split se usa de la siguiente forma.

Split(NombreArray, "Separador")

3.4.7 Filter

Devuelve un array filtrado según algún criterio de búsqueda, permitiendo incluir o excluir el texto de busqueda (True/False). La función Filter se usa de la siguiente forma.

Filter(NombreArray, "TextoBusqueda", True/False)

4 USERFORM

4.1 CUADRO DE HERRAMIENTAS

Monografias.com

Las opciones y sus funcionalidades son las siguientes.

Monografias.comSeleccionar Objetos: Permite seleccionar controles insertos en el Userform.

Monografias.comLabel: Permite insertar una etiqueta.

Monografias.comTextbox: Permite insertar un cuadro de texto, en el cual se introducen datos.

Monografias.comComboBox: Sirve para que un usuario elija una opción de una lista.

Monografias.comListBox: Sirve para que un usuario rellene o elija varias opciones de una lista.

Monografias.comCheckBox: Permite insertar una caja de checkeo.

Monografias.comOptionButton: Permite insertar botones de opciones.

Monografias.comToggleButton: Sirve para activar o desactivar alguna funcionalidad. Este botón adopta el modo "Encendido" / "Apagado".

Monografias.comFrame: Sirve para agrupar elementos de un Userform (los elementos se deben ubicar dentro del Frame).

Monografias.comCommandButton: Es un simple botón que nos permite ejecutar acciones.

Monografias.comTabStrip: en un mismo Userform se pueden crear distintas secciones.

Monografias.comMultiPage: en un mismo Userform se pueden crear distintas páginas.

Monografias.comScrollBar: si tenemos una lista con muchos elementos el scrollbar nos permite navegarlos.

Monografias.comSpinButton: permite aumentar o disminuir valores.

Monografias.comImage: permite introducir imágenes en el Userform.

Monografias.comRefEdit: permite hacer referencia a una celda de Excel.

4.2 FUNCIONES DE USERFORM

4.2.1 Load

Carga el Userform para ser mostrado en pantalla. La función Load se usa de la siguiente forma.

Load NombreUserForm

5 DECLARACIONES

5.1 OPTION

5.1.1 Option Explicit

Obliga a declarar explícitamente todas las variables mediante las instrucciones Dim, Private, Public, ReDim o Static. Cuando no se usa, todas las variables no declaradas son Variant.

5.1.2 Option Private Module

Impide que las variables declaradas en el modulo sean utilizadas en otros archivos. La variables declaradas como publicas dentro del modulo si están disponibles en otros modulos del mismo archivo, pero no en modulos de otros archivos.

5.1.3 Option Base 0

Establece el 0 como el índice inferior de los Array declarados en el modulo. Esta opción viene por default, por lo que no es necesario declararla.

5.1.4 Option Base 1

Establece el 1 como el índice inferior de los Array declarados en el modulo.

5.1.5 Option Compare Binary

Especifica el método de comparación de Strings para un módulo. Esta opción viene por default, por lo que no es necesaria declararla. El ordenamiento de menor a mayor Binary es el siguiente.

A < B < E < Z < a < b < e < z

5.1.6 Option Compare Text

Especifica el método de comparación de Strings para un módulo. El ordenamiento de menor a mayor Text es el siguiente.

(A = a) <(=) <(B = b) <(E = e) <(=) <(Z = z) <(=)

5.2 EVENTOS DE LIBROS

Los eventos de libros corresponden a determinados sucesos propios de un libro, tales como abrirlo, guardarlo, cerrarlo, imprimirlo, etc. Las macros de eventos de libros se deben escribir en la carpeta ThisWorkbook de la ventana proyecto.

En la primera lista desplegable de la ventana código se debe seleccionar la opción

Workbook.

En la segunda lista desplegable de la ventana código se debe seleccionar el evento de libro deseado.

5.2.1 Activate

Se ejecuta al activar el libro.

5.2.2 AddinInstall

Se ejecuta cuando el libro se instala como un complemento.

5.2.3 AddinUninstall

Se ejecuta cuando el libro se desinstala como un complemento.

5.2.4 AfterXmlExport

Se ejecuta después de guardar o exportar datos del libro a un archivo XML.

5.2.5 AfterXmlImport

Se ejecuta después de actualizar una conexión de datos XML o después de importar nuevos datos XML en el libro.

5.2.6 BeforeClose

Se ejecuta antes de cerrar el libro.

5.2.7 BeforePrint

Se ejecuta antes de imprimir el libro.

5.2.8 BeforeSave

Se ejecuta antes de guardar el libro.

5.2.9 BeforeXmlExport

Se ejecuta antes de guardar o exportar datos del libro a un archivo XML.

5.2.10 BeforeXmlImport

Se ejecuta antes de actualizar una conexión de datos XML o después de importar nuevos datos XML en el libro.

5.2.11 Deactivate

Se ejecuta cuando se desactiva el libro.

5.2.12 NewSheet

Se ejecuta cuando se crea una hoja en el libro.

EL PRESENTE TEXTO ES SOLO UNA SELECCION DEL TRABAJO ORIGINAL.
PARA CONSULTAR LA MONOGRAFIA COMPLETA SELECCIONAR LA OPCION DESCARGAR DEL MENU SUPERIOR.


Comentarios


Trabajos relacionados

Ver mas trabajos de Software

 
 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.


Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Iniciar sesión

Ingrese el e-mail y contraseña con el que está registrado en Monografias.com

   
 

Regístrese gratis

¿Olvidó su contraseña?

Ayuda