Formularios en VBA
Los formularios en VBA no son más que un cuadro de diálogo de Excel donde podremos
colocar controles que nos ayudarán a solicitar información del usuario. Podremos colocar cajas
de texto, etiquetas, cuadros combinados, botones de comando, etc.
Crear un formulario en Excel
Los formularios de Excel son creados desde el Editor de Visual Basic donde debemos
seleccionar la opción de menú Insertar y posteriormente la opción UserForm.
Inmediatamente se mostrar un formulario en blanco y de igual manera podrás observar
el Cuadro de herramientas:
Si no ves el Cuadro de herramientas puedes seleccionar el menú Ver y la opción Cuadro de
herramientas.
Agregar controles al formulario
Para agregar un control al formulario debes seleccionarlo del Cuadro de herramientas y
dibujarlo sobre el formulario. En mi formulario he agregado etiquetas y cuadros de texto así
como un par de botones de comando:
El texto de las etiquetas se modifica en la propiedad llamada Caption. Para realizar este cambio
solamente selecciona el control y se mostrará la ventana de Propiedades donde podrás hacer la
modificación. De igual manera el texto desplegado en los botones de comando se modifica en
su propiedad Caption.
Código para el botón Cancelar
El botón cancelar cerrará el formulario sin guardar la información capturada en ningún lugar. El
código que debemos utilizar es el siguiente:
Private Sub CommandButton2_Click()
Unload Me
End Sub
Para agregar este código puedes hacer doble clic sobre el control. La sentencia “Unload Me”
cerrará el formulario.
Código para el botón Aceptar
A diferencia del botón Cancelar, el botón Aceptar colocará los datos de las cajas de texto en las
celdas A1, B1 y C1. El código utilizado es el siguiente:
Private Sub CommandButton1_Click()
Worksheets("Hoja1").Range("A1").Value = [Link]
Worksheets("Hoja1").Range("B1").Value = [Link]
Worksheets("Hoja1").Range("C1").Value = [Link]
End Sub
Al pulsar el botón Aceptar se transferirán los valores de los controles TextBox hacia las celdas
de la Hoja1.
Botón para abrir formulario
Para facilitar la apertura del formulario puedes colocar un botón ActiveX en la hoja con el
siguiente código:
Private Sub CommandButton1_Click()
[Link]
End Sub
Probar el formulario
Observa cómo cada uno de los botones realiza la acción correcta al pulsarlos:
Tipos de datos en Visual Basic
1. String – Datos que pueden tener texto o cualquier caracter.
2. Integer – Datos que pueden tener cualquier número entero, o sea, no tiene punto
decimal. Puede tener valores desde –32,768 hasta 32,767.
3. Long integer – Puede tener cualquier número entero, desde –2,147,483,648 hasta
2,147,483,647.
4. Single-precision (floating point) – Número con un máximo de seis (6) lugares decimales.
5. Double-precision (floating point) – Número con un máximo de catorce (14) lugares
decimales.
6. Variant – Puede tener cualquier tipo de datos, pues deja que Visual Basic encuentre la
mejor forma de guardar datos. Pos esa razón, toma más memoria y hace los programas
más lentos que si se usan los otros tipos de datos.
7. Currency – Otro tipo de “floating point”. Puede tener valores desde –922 trillones hasta
922 trillones.
8. Bolean – Tiene solo los valores True (cierto) o False (falso).
9. Byte – Tiene números enteros desde 0 a 255.
Para declarar una variable se usa la siguiente oración:
Dim nombre-de-variable as tipo-de-dato
donde:
nombre-de-variable es el nombre que el programador usa para identificar la variable. Puede
tener letras y números, pero no espacios.
tipo-de-dato es el nombre del tipo de dato que tendrá el valor de la variable de acuerdo a la
lista dada.
Ejemplo: Si se desea conocer cuántos caracteres tiene un nombre, y se tiene diseñada una
forma donde se entra el nombre en un Textbox y al oprimir un Command presenta el tamaño
del nombre en un Label, se puede usar el siguiente código en el Command1:
Dim nombre as String
Dim tamaño as Integer
Nombre = [Link]
tamaño = Len(nombre)
[Link] = “Tamaño del nombre: ” & tamaño