Visual basic for applications


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 la suite Microsoft Office. Visual Basic para Aplicaciones es un subconjunto casi completo de Visual Basic 5.0 y 6.0.

Microsoft VBA viene integrado en aplicaciones de Microsoft Office, como Word, Excel, Access y Powerpoint. 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.

Su utilidad principal es automatizar tareas cotidianas, así como crear aplicaciones y servicios de bases de datos para el escritorio. Permite acceder a las funcionalidades de un lenguaje orientado a eventos con acceso a la API de Windows.

Al provenir de un lenguaje basado en Basic tiene similitudes con lenguajes incluidos en otros productos de ofimática como StarBasic y Openoffice.

ELEMENTOS

 Ventana Proyecto

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

 Ventana Propiedades

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

Ventana Código

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

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

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

Ventana Inspección

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

ESTRUCTURA

VARIABLES

Tipos de Variables

Monografias.com

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

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

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

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

SENTENCIAS

Do Loop

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

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]

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]

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

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:

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

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

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

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()

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:

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.

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.

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

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

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

FUNCIONES DE ARRAY

Redim

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

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)

LBound

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

UBound

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

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")

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")

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)

USERFORM

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.

FUNCIONES DE USERFORM

Load

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

DECLARACIONES

OPTION

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.

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.

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.

Option Base 1

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

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

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) <(=)

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.

Activate

Se ejecuta al activar el libro.

AddinInstall

Se ejecuta cuando el libro se instala como un complemento.

AddinUninstall

Se ejecuta cuando el libro se desinstala como un complemento.

AfterXmlExport

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

AfterXmlImport

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

BeforeClose

Se ejecuta antes de cerrar el libro.

BeforePrint

Se ejecuta antes de imprimir el libro.

BeforeSave

Se ejecuta antes de guardar el libro.

BeforeXmlExport

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

BeforeXmlImport

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

Deactivate

Se ejecuta cuando se desactiva el libro.

NewSheet

Se ejecuta cuando se crea una hoja en el libro.

No hay comentarios:

Publicar un comentario