Está en la página 1de 11

EXCEL INTERMEDIO Y AVANZADO Nro.

DD-106
Página 1/11
Laboratorio – 04

TEMA: VISUAL BASIC USO DE FORMULARIOS

OBJETIVOS

 Identificar las principales características de los formularios en VBA


 Implementar formularios en VBA
 Identificar y utilizar los principales controles de formularios
 Personalizar las propiedades de los controles de un formulario
 Identificar código VBA en los eventos en un formulario

REQUERIMIENTOS

 PC con 2 GB memoria RAM


 Microsoft Excel instalado

INTRODUCCIÓN

Los formularios en VBA permiten implementar interfaces de usuario mucho más amigables.
Los formularios se implementan en dos etapas:

1. Diseño del formulario:


 En esta etapa se implementa “Visualmente” el formulario arrastrando controles desde una
barra de herramientas hacia la superficie de dicho formulario.
 Una vez que se han ubicado los controles sobre el formulario se procede a personalizar el
aspecto visual de cada control, para esto se hace uso de la ventana de “Propiedades” donde
encontraremos un listado completo de cada una de las propiedades que posee el control
que en ese momento se encuentre seleccionado
2. Programación de código:
 Una vez finalizada la etapa de diseño anterior se procede a ingresar el código VBA que
deberá ejecutarse como respuesta a diversas acciones que realice el usuario del formulario
durante su interacción. Por ejemplo se debe incluir el código que debe ejecutar el
formulario cuando un usuario presione con el mouse los botones que hayamos situado
sobre él, o tal vez código que debe ejecutarse ante la presión de alguna determinada tecla
o combinación de teclas que efectúe el usuario.
 Este código a ingresar se define en bloques de código en forma de Subrutinas denominados
“Eventos”.
PROCEDIMIENTO

1. Diseño de formulario
1.1. Crear un documento nuevo
 Crear un nuevo libro con soporte para macros
 Guardar el nuevo libro con el nombre Lab_04 <nombre completo>.xlsm en la carpeta creada en la
unidad E:\
 Renombrar la hoja 1 con el nuevo nombre “datos”

1
EXCEL INTERMEDIO Y AVANZADO Nro. DD-106
Página 2/11
Laboratorio – 04

 Ingrese los siguientes textos y aplique el formato indicado en la hoja “datos”

1.2. Creación de un formulario de ingreso de datos personalizado


 Ingrese a la herramienta Visual Basic desde la ficha Desarrollador

 En la herramienta visual Basic. Agregue un nuevo Formulario empleando la opción del menú:
Insertar  UserForm

 A continuación se muestra el aspecto del nuevo Formulario totalmente vacío

 Empleando la ventana de propiedades modificaremos algunas propiedades del nuevo formulario


Nota: En caso no estuviera visible la ventana de propiedades puede activarla a través de la opción
del menú: Ver  Ventana Propiedades o también presionando la tecla F4
Propiedad Nuevo Valor
(Name) formIngresoNotas
BackColor &H00C0FFFF&
Caption Ingreso de notas finales
Picture Seleccione una imagen (gif, jpg)
PictureAlignment 4 – fmPictureAlignmentBottomRight

2
EXCEL INTERMEDIO Y AVANZADO Nro. DD-106
Página 3/11
Laboratorio – 04

 A continuación se muestra el aspecto del nuevo formulario (imagen referencial)

1.3. Trabajar con controles de formularios


 Haremos uso de la ventana de Cuadro de herramientas, la cual contiene los controles más comunes
para el diseño de formularios
Nota: En caso no estuviera visible la ventana de “Cuadro de herramientas” puede activarla a través
de la opción del menú: Ver  Cuadro de herramientas

Checkbox: Casillas de
Label: Etiquetas o títulos verificación

TextBox: Cajas para ingreso de datos RadioButton: Elementos de


selección única
Button: Botón de comandos

3
EXCEL INTERMEDIO Y AVANZADO Nro. DD-106
Página 4/11
Laboratorio – 04

 Desde la ventana “Cuadro de herramientas” arrastre los siguientes controles al formulario:

Cuadros de Texto:
(TextBox 1 - 3)

 Desde la ventana de Propiedades, modifique las siguientes propiedades de cada uno de los controles
Label:
Control Propiedad Nuevo Valor
Label1 Caption Nro
Font Tahoma, Negrita, Tamaño 10
ForeColor &H000000FF&
TextAlign 3 – fmTexAlignRight
Label2 Caption Curso
Font Tahoma, Negrita, Tamaño 10
ForeColor &H000000FF&
TextAlign 3 – fmTexAlignRight
Label3 Caption Nota final
Font Tahoma, Negrita, Tamaño 10
ForeColor &H000000FF&
TextAlign 3 – fmTexAlignRight
Label4 Caption Estado
Font Tahoma, Negrita, Tamaño 10
ForeColor &H000000FF&
TextAlign 3 – fmTexAlignRight
Label5 (Name) lblEstado
Caption
Font Tahoma, Negrita, Tamaño 10
ForeColor &H00FF0000&
 Verifique el efecto que produjo la modificación de propiedades anterior

4
EXCEL INTERMEDIO Y AVANZADO Nro. DD-106
Página 5/11
Laboratorio – 04

 Desde la ventana de Propiedades, modifique las siguientes propiedades de cada uno de los controles
TextBox:
Control Propiedad Nuevo Valor
TextBox1 (Name) txtNro
BorderStyle 1 - fmBorderStyleSingle
TextBox2 (Name) txtCurso
BorderStyle 1 – fmBorderStyleSingle
TextBox3 (Name) txtNota
BorderStyle 1 - fmBorderStyleSingle
 Desde la ventana de Propiedades, modifique las siguientes propiedades de cada uno de los controles
CommandButton:
Control Propiedad Nuevo Valor
CommandButton1 (Name) btnObtenerResultado
Caption Mostrar Resultado
Font Tahoma, Negrita oblicua, Tamaño 10
CommandButton2 (Name) btnAceptar
Caption Aceptar
Font Tahoma, Negrita oblicua, Tamaño 10
CommandButton3 (Name) btnSalir
Caption Salir
Font Tahoma, Negrita oblicua, Tamaño 10

5
EXCEL INTERMEDIO Y AVANZADO Nro. DD-106
Página 6/11
Laboratorio – 04

1.4. Trabajar con eventos


 Actualmente el formulario es una simple interfaz visual pero no tiene incorporada ningún tipo de
funcionalidad. Para poder asignarle funcionalidad a los diferentes componentes de nuestro formulario
se necesita especificar código VBA. Este código generalmente es ingresado como eventos asociados a
los controles involucrados.
 Se desea que al presionar el botón Salir se cierre todo el formulario.
 Para ello. Asignaremos el código necesario al evento click del botón “Salir” de nuestro formulario.
 Presione “doble click” sobre el botón Salir. Se mostrará una ventana de código con el esqueleto de la
subrutina asociada al evento click de dicho botón

 Adicionaremos al evento anterior la única instrucción VBA requerida para cerrar el formulario

1.5. Verificar la acción de los eventos


 Para verificar el funcionamiento de nuestro formulario y de la única acción implementada “Salir”.
Debemos adicionar un botón a nuestra hoja Excel que permita cargar el formulario creado.
 Regrese al libro creado en Excel.
 Inserte un botón ActiveX a la altura de la celda H1. Empleando
Ficha: Desarrollador Categoría: Controles  Herramienta: Insertar  Controles ActiveX
 Para cambiar el nombre del nuevo botón y el texto que muestra dicho botón aplicaremos el siguiente
procedimiento:
o Click derecho sobre el botón  Propiedades

6
EXCEL INTERMEDIO Y AVANZADO Nro. DD-106
Página 7/11
Laboratorio – 04

o En la ventana Propiedades. Modifique los siguientes valores:


Propiedad Nuevo Valor
(Name) botonAbrirformulario
Caption Abrir Formulario
Font Negrita, Tamaño 12
 Verifique el nuevo aspecto que tiene el botón ActiveX

 Doble click al botón para modificar el código asociado al evento click de dicho botón. Ingrese el
siguiente comando:

 Antes de verificar la acción del botón anterior. Desactive el modo de diseño a través de la siguiente
herramienta de la ficha Desarrollador:

 Presione el nuevo botón y verifique si se muestra el nuevo formulario que acaba de crear y si funciona
el botón Salir
 Anote a continuación los principales detalles asociados al desarrollo del ejercicio realizado hasta el
momento
Para la creación de un formulario de ingreso de datos se debe tener mucho cuidado, pero es la
manera mas estética posible de poder llenar una base de datos, además permita que cualquier otra
persona pueda utilizarlo fácilmente.

1.6. Implementar el código del evento click del botón ‘Mostrar Resultado’
 Regrese al editor de Visual Basic
 Indicaremos en palabras la secuencia de acciones que debe realizar el botón Mostrar Resultado:
1. Una vez que se ingrese la nota en cuadro de texto ‘txtNota’, verificar el resultado del
estudiante de acuerdo a la siguiente tabla:
Criterio Resultado
Entre 0 y 10.4 Desaprobado
Entre 10.5 y 13 Bueno
Entre 14 y 17 Muy bueno
Entre 18 y 20 Excelente

 Active el formulario creado en las secciones anteriores


 Doble clic sobre el botón ‘Mostrar Resultado’ para acceder a su evento click

7
EXCEL INTERMEDIO Y AVANZADO Nro. DD-106
Página 8/11
Laboratorio – 04

 Adicione el siguiente código en el medio:


‘Declaración de variable requerida
Dim nota As Variant

'cambiamos el valor de txtNota a un número


nota = Val(txtNota.Text)

'analizamos si se ha ingresado un nota correcta, entre 0 y 20 únicamente


If nota > 0 And nota <= 20 Then

'se hace el análisis de cada caso, para obtener el estado del alumno
If nota >= 1 And nota <= 10.4 Then
lblEstado.Caption = "Desaprobado"
Else
If nota >= 10.5 And nota <= 13 Then
lblEstado.Caption = "Bueno"
Else
If nota >= 14 And nota <= 17 Then
lblEstado.Caption = "Muy bueno"
Else
lblEstado.Caption = "Excelente"
End If
End If
End If
Else
'se muestra un cuadro de mensaje en pantalla para solicitar una nueva nota
MsgBox "Ingrese una nota correcta"
'Colocar los controladores de textbox en blanco.
txtNro.Text = ""
txtCurso.Text = ""
txtNota.Text = ""
lblEstado.Caption = ""

End If

 Guarde los cambios, regrese a Excel y ejecute nuevamente el formulario. Ingrese valores en los
cuadros de texto y verifique el funcionamiento del botón ‘Mostrar resultado’. Comente los
resultados obtenidos. (Puede adjuntar capturas de pantalla)

8
EXCEL INTERMEDIO Y AVANZADO Nro. DD-106
Página 9/11
Laboratorio – 04

Comentario: Esta plataforma creada nos ayuda a ingresar datos mucho mas rapidos que estando
digitando en las mismas celdas de Excel.

9
EXCEL INTERMEDIO Y AVANZADO Nro. DD-106
Página 10/11
Laboratorio – 04

1.7. Implementar el código del evento click del botón ‘Aceptar’


 Regrese al editor de Visual Basic
 Indicaremos en palabras la secuencia de acciones que debe realizar el botón Aceptar:
2. Declarar variables para referenciar la fila donde se incluirán los datos del nuevo registro
3. Buscar en la hoja “Datos” de nuestro libro Excel la ubicación para la nueva fila de datos
4. Copiar el valor ingresado en cada uno de los controles TextBox de nuestro formulario en cada
una de las celdas de la nueva fila que se acaba de ubicar. Esta acción físicamente agregará la
información del nuevo registro en nuestra hoja “Datos”
5. Enviar un aviso al usuario que la inserción del nuevo registro se realizó correctamente
6. Colocar en blanco cada uno de los controles TextBox del formulario para facilitar el ingreso de
un nuevo registro.
 Active el formulario creado en las secciones anteriores
 Doble click sobre el botón “Aceptar” para acceder al esqueleto de su evento Click

 Adicione las siguientes instrucciones al medio


'Declaración de variables requeridas
Dim nuevaFila As Long
Dim totalFilas As Long
Dim hojaDatos As Worksheet

'Asignación de datos a las variables anteriores


Set hojaDatos = Worksheets("datos")
totalFilas = hojaDatos.Rows.Count

'Ubicar la posición de la nueva fila de datos a utilizar


nuevaFila = hojaDatos.Cells(totalFilas, "A").End(xlUp).Offset(1, 0).Row

'Comprueba si se ha determinado el estado del alumno.

If lblEstado.Caption <> "" Then

'Copiar el contenido de cada control TextBox a cada celda.


hojaDatos.Cells(nuevaFila, 1).Value = txtNro.Text
hojaDatos.Cells(nuevaFila, 2).Value = txtCurso.Text
hojaDatos.Cells(nuevaFila, 3).Value = txtNota.Text
hojaDatos.Cells(nuevaFila, 4).Value = lblEstado.Caption

'Muestra el mensaje sobre el resultado del nuevo registro agregado


MsgBox "Registro agregado correctamente…"

'Colocar los controladores de textbox en blanco.


Else
MsgBox "Faltan datos…"
End If
txtNro.Text = ""
txtCurso.Text = ""
txtNota.Text = ""
lblEstado.Caption = ""
10
EXCEL INTERMEDIO Y AVANZADO Nro. DD-106
Página 11/11
Laboratorio – 04

1.8. Verificar la acción del botón Aceptar


 Regrese al libro creado en Excel.
 Presione el botón que abre nuestro formulario y que ya fue creado previamente

 Verifique que se muestre nuevamente el formulario


 Ingrese valores en los cuadros de texto, muestre el estado del alumno de acuerdo a la nota ingresada
y finalmente haga clic sobre el botón Aceptar.
 Verifique los resultados y anótelos a continuación.
Con el botón “Aceptar” nos permite ingresar a las celdas respectivas los datos escritos en el
formulario.

OBSERVACIONES Y CONCLUSIONES
Para la crear un formulario de ingreso de datos, es importante la estructura que vamos a diseñar, el algoritmo
debe de ser ordenado para que se ejecute de forma óptima la tarea, además de saber el procedimiento de
código de VBA para no tener errores al correr la macro puesto que a veces definimos mal nuestras variables
o los códigos que usamos no son los adecuados dentro del Visual Basic.

11