Vous êtes sur la page 1sur 21

Sesión

7
Visual Basic para aplicaciones
III
 Objetos Formularios
Microsoft Excel 2016

INTRODUCCIÓN
Los formularios de VBA, son ventanas compuesto por controles, y diseñado para elaborar sistemas
a medida.

Los formularios VBA, también llamados cuadros de diálogos personalizados, en estas ventanas,
podemos asociar todos los comandos revisados anteriormente.

El formulario es un objeto UserForm y, como cualquier otro objeto de VBA, tiene sus propios
eventos, propiedades y métodos con los que podemos controlar su apariencia y su comportamiento.

Los pasos para diseñar un formulario son los siguientes:

 Insertar el formulario
 Insertar los controles para diseñar la ventana
 Cambiar las propiedades del formulario y los controles
 Codificar el formulario
 Enlazar el formulario con un botón en la hoja cálculo.

PROF. CHRISTIAN MONTOYA 2


Microsoft Excel 2016

INSERTAR UN USERFORM
 Ingresar al editor de Visual Basic (presione ALT + F11 )

 Haz clic sobre el proyecto que deseo trabajar

Luego de este procedimiento se debe presentar el siguiente objeto:

PROF. CHRISTIAN MONTOYA 3


Microsoft Excel 2016

 Paralelamente se activa un cuadro de herramientas, que se usa para insertar otros


objetos al formulario.

 Si el cuadro de herramientas no está activo, podríamos activarlo con el siguiente


procedimiento lo podemos activar:

PROF. CHRISTIAN MONTOYA 4


Microsoft Excel 2016

OBJETOS DEL CUADRO DE HERRAMIENTAS

BOTÓN NOMBRE DEFINICIÓN

Es útil para ofrecer al usuario una opción lógica: SI


Casilla de Verificación
o NO, VERDADERO o FALSO.

Es un cuadro de lista desplegable que presenta solo


Cuadro Combinado
un elemento a la vez.

Es aquel control que hace las acciones en un


Botón de Comando formulario, así como cerrar, validar, almacenar
datos entre otras actividades.

Es útil para agrupar controles, se puede utilizar por


Botón de Marco motivos estéticos o por agrupar lógicamente un
conjunto de controles.

Se aplica para insertar una imagen de un producto,


Imagen
de un usuario o el logotipo de la empresa.

Presenta una lista de elementos, donde el usuario


Cuadro de Lista
puede seleccionar una o múltiples opciones.

Es útil para rotular que datos insertaremos en los


Etiqueta
cuadros de texto.

Permite crear un cuadro con fichas. Para añadir


más fichas de las ya predeterminadas, haz clic
Página Múltiple
derecho sobre una de las fichas y seleccione Nueva
Página.

Se aplica cuando el usuario solo seleccionara una


Botón de Opción
opción de un conjunto de alternativas.

Es uno de los más utilizados en un formulario, ya


Cuadro de Texto que estos controles admite que el usuario ingrese
datos.

PROF. CHRISTIAN MONTOYA 5


Microsoft Excel 2016

CONVENCIONES DE NOMBRES PARA LOS OBJETOS


Los objetos deben llevar nombres con un prefijo coherente que facilite la identificación del
tipo de objeto. A continuación, se ofrece una lista de convenciones recomendadas para
algunos de los objetos permitidos por Visual Basic Aplicación:

PREFIJOS SUGERIDOS PARA LOS CONTROLES

TIPO DE CONTROL PREFIJO EJEMPLO


Cuadro de texto TXT Txtnombre
Cuadro combinado CBO Cbodistrito
Cuadro de lista LST Lstproducto
Botón de opción OPT Optgenero
Casilla de verificación CHK Chkaporte
Etiqueta LBL Lblcomision
Botón de comando BTN Blnsalir
Imagen IMG Imglogo
Pagina múltiple PGM Pgmdetalle
Botón de marco GRP Grpturno

PROF. CHRISTIAN MONTOYA 6


Microsoft Excel 2016

PROPIEDADES DE LOS CONTROLES


Recuerde que cada objeto tiene sus propiedades, al igual que un objeto en la vida real.
Veremos a continuación como se muestran esas propiedades.

EJEMPLO
Si ya tiene un formulario en pantalla, entonces haga clic en el control etiqueta y dibújela
sobre el formulario como que se tratase de una forma en un documento de Word 2013.
Si no visualiza la ventana de propiedades entonces siga estos pasos:

Control etiqueta insertado

PROF. CHRISTIAN MONTOYA 7


Microsoft Excel 2016

 A continuación, se muestra la ventana de propiedades, con todas las


características del objeto seleccionado (en este caso la etiqueta):

A continuación, mencionamos las propiedades más importantes:

Propiedad Definición
Name Nombre utilizado para programar el objeto.
Caption Se utiliza para establecer el texto que mostrará el
control Label.
Autosize Las dimensiones del Label se ajustarán de acuerdo al
largo y alto del texto que muestre.
Backcolor Determina el color del fondo de la etiqueta.
Font Cambia el formato de la fuente (tamaño y estilo).
Forecolor Edita el color del texto.
Height y Width Cambia el ancho y alto del Label.

PROF. CHRISTIAN MONTOYA 8


Microsoft Excel 2016

Ejercicio 1

 Realice el siguiente formato en la hoja de cálculo:

 Lo que tratamos de lograr en este ejercicio es algo simple, es que los datos del
formulario pasen a la hoja de cálculo.

Se preguntarán, es más fácil digitarlo y no hacer tanto rollo, es verdad, pero cuando
trabajen con formatos más complejos y tengan que almacenar los datos uno debajo
del otro, ahí va encajar perfectamente esos formularios.

Es necesario que también conozcan que los formularios los podemos usar para
buscar valores de una lista o tabla.

PROF. CHRISTIAN MONTOYA 9


Microsoft Excel 2016

 Hacer el siguiente diseño de formulario con los diferentes controles:

CAMBIANDO SUS PROPIEDADES

Objetos Propiedades Valor


Name Frmalumnos
Userform1
Caption Datos del Alumno
Name Lblnombre
Label1
Caption Nombre
Name Lblapellido
Label2
Caption Apellido
Name Lblcarrera
Label3
Caption Carrera
Name Lbltelefono
Label4
Caption Teléfono
Cuadro de texto 1 Name Txtnombre
Cuadro de texto 2 Name Txtapellido
Cuadro Combinado Name cbocarrera
Cuadro de texto 4 Name Txttelefono
Name Btngrabar
Boton1
Caption Grabar
Name Btnlimpiar
Boton2
Caption Borrar
Name Btncancelar
Boton3
Caption Cancelar

PROF. CHRISTIAN MONTOYA 10


Microsoft Excel 2016

Finalmente, el formulario debe quedar así:

Cuando el formulario se muestre, ya se deben visualizar los datos en el control


cbocarrera:

 Para que los datos se muestren al ejecutar el formulario, debemos programarlo


en el evento Initialize.

 Si deseamos documentar el código, es conveniente agregar comentarios; para


esto utilizaremos un apostrofe delante de la línea, vera luego como la línea tendrá
un color verde.

PROF. CHRISTIAN MONTOYA 11


Microsoft Excel 2016

PROGRAMANDO

ASIGNAR DATOS AL CUADRO COMBINADO

Private Sub UserForm_Click()


' esto es un comentario porque comienza con apostrofe
cbocarrera.AddItem "Derecho"
cbocarrera.AddItem "Contabilidad"
cbocarrera.AddItem "Turismo"
cbocarrera.AddItem "Redes"
cbocarrera.AddItem "Sistemas"
cbocarrera.AddItem "Matematicas"
cbocarrera.AddItem "Administracion"
cbocarrera.AddItem "Educacion"
End Sub

PROGRAMAMOS EL BOTÓN BORRAR

Al darle clic sobre este botón, todos los controles deben quedar en blanco. Comencemos a
programarlo haciendo dos clic sobre el control:

Private Sub btnborrar_Click()


txtnombre.Text = ""
txtapellido.Text = ""
cbocarrera.Text = ""
txttelefono.Text = ""
txtnombre.SetFocus
End Sub

PROGRAMAR EL BOTÓN CANCELAR

Private Sub btncancelar_Click()


End
End Sub

PROF. CHRISTIAN MONTOYA 12


Microsoft Excel 2016

PROGRAMAR EL BOTÓN GRABAR

Private Sub btngrabar_Click()


Range("d6").Value = txtnombre
Range("d8").Value = txtapellido
Range("d10").Value = cbocarrera.Text
Range("d12").Value = txttelefono
End Sub

CONSIDERACIONES A TOMAR EN CUENTA AL MOMENTO DE PROGRAMAR

Seguro que insistes en preguntar como sabemos que al digitar TEXT estoy haciendo
referencia a una propiedad, esto también es sencillo de diferenciarlo:

o Cuando pones el punto VBA debe mostrar una pequeña ventana como la que
sigue:

Esto se llama lista de miembros.

 Los iconos de color verde representan a los métodos.

 Los iconos que tienen una mano que agarra una hoja, son propiedades.

IMPORTANTE

 Qué pasa si mientras escribes, pones el punto y no se muestra la lista de


miembros, es muy probable que tengas un error en el nombre del objeto.

 Es importante conocer lo siguiente una propiedad o un método van


después del punto.

 Siempre antes del punto va el nombre del control.

PROF. CHRISTIAN MONTOYA 13


Microsoft Excel 2016

Ejercicio 2

Realicemos un formulario que pase los datos a la hoja de cálculo pero uno debajo del
otro.

1. Diseña el siguiente formato en la hoja 1

2. Diseñe el siguiente formulario:

Cuadro de texto Etiqueta

Cuadro de grupo

Botón de comando
Botón de opción

PROF. CHRISTIAN MONTOYA 14


Microsoft Excel 2016

1. Asigne propiedades:

Objetos Propiedades Valor


Name Frmusuario
Userform1
Caption REGISTRO DE DATOS
Name Lblnombre
Label1
Caption Nombre
Name Lbledad
Label2
Caption Edad
Cuadro de texto 1 Name Txtnombre
Cuadro de texto 2 Name Txtedad
Name Btnaceptar
Boton1
Caption Aceptar
Name Btncancelar
Boton2
Caption Cancelar
Botón de grupo Name Grpsexo
Name Optmasculino
Botón de opción 1
Caption Masculino
Name Optfemenino
Botón de opción 2
Caption Femenino

2. Programando los controles

PROGRAMANDO EL BOTÓN CANCELAR

Private Sub btncancelar_Click()


End
End Sub

Otra forma de salir de un formulario es mediante la siguiente sentencia:

PROF. CHRISTIAN MONTOYA 15


Microsoft Excel 2016

PROGRAMANDO EL BOTÓN GRABAR

Private Sub btnaceptar_Click()


Rem asegurarse que este en la hoja 1
Sheets(“hoja1”).Activate
Rem determinar la siguiente fila vacía
Filavacia = Application.WorksheetFunction.CountA (Range("a:a")) + 1
Rem transfiere el nombre a la celda
Cells(filavacia, 1) = txtnombre
Rem transfiere el sexo
If optmasculino then Cells(filavacia, 1) =”Masculino”
If optfemenino then Cells(filavacia, 2) =”Femenino”

Rem borrar los datos de los controles para la siguiente entrada


Txtnombre.text = “”
Txtedad.text = “”
Optmasculino = false
Optfemenino = false

End Sub

 OBSERVACIÓN

- Para accede a una función incorporada en la hoja de cálculo escribimos la


sentencia:

Application.WorksheetFunction

Luego ponemos otro punto donde nos saldrán todas las funciones en inglés.

- Para borrar la selección de un botón de opción, escribimos el botón y lo


igualamos a FALSE.

PROF. CHRISTIAN MONTOYA 16


Microsoft Excel 2016

3. Nos queda hacer un procedimiento que llame al formulario

Insertamos un módulo / escribimos el siguiente código:

Sub mostrar ()
Frmusuario.show
End sub

4. En la hoja de cálculo realizamos lo siguiente

- Hay un forma inserta que dice INGRESAR


- Hacemos clic derecho y de la lista seleccionamos ASIGNAR
MACRO

- En la ventana mostrada seleccionamos MOSTRAR


- Luego aceptamos.
- Ahora cada vez que presionemos el botón, deberá salir el formulario
que hemos creado.

PROF. CHRISTIAN MONTOYA 17


Microsoft Excel 2016

Ejercicio 3

Realicemos un formulario de ingreso, donde nos permita insertar la clave y la contraseña.

1. Asignando las propiedades:

Objetos Propiedades Valor


Name Frmingreso
Userform1
Caption INGRESO AL SISTEMA
Name Lblusuario
Label1
Caption USUARIO
Name Lblclave
Label2
Caption CLAVE
Cuadro de texto 1 Name Txtusuario
Cuadro de texto 2 Name Txtclave
Name Btnaceptar
Boton1
Caption Aceptar
Name Btncancelar
Boton2
Caption Cancelar

2. Programando el botón cancelar:

Private Sub btncancelar_Click()


Unload Me
End Sub

PROF. CHRISTIAN MONTOYA 18


Microsoft Excel 2016

3. Programando el botón aceptar:

Private Sub btnaceptar_Click()


If txtusuario = "admin" And txtclave = "cmmc05" Then
frmprincipal.Show
Else
MsgBox ("No son los datos correctos")
txtusuario = ""
txtclave = ""
txtusuario.SetFocus
End If
End Sub

4. Si el usuario es igual a admin y la clave ingresada es cmmc05, entonces se abre


otro formulario con el nombre principal, si los datos no son correctos aparece un
mensaje indicándonos que no son los datos correctos.

PROF. CHRISTIAN MONTOYA 19


Microsoft Excel 2016

Ejercicio 4

Realicemos un formulario que se cargue, sin que se inicie el entorno de Excel.

1. Asignando las propiedades:

Objetos Propiedades Valor


Name Frmsistema
Userform1
Caption SISTEMA
Name Lblusuario
BIENVENIDO AL
Label1 SISTEMA DE
Caption
FACTURACION.

2. Programar el formulario:

Private Sub UserForm_Initialize()


Application.Visible = False
End Sub

PROF. CHRISTIAN MONTOYA 20


Microsoft Excel 2016

3. Cargar el formulario:

En la parte izquierda de la pantalla, hacer doble clic en ThisWorkbook

Doble clic sobre thisworkbook

Seleccionar el evento del formulario, en nuestro caso será al initialize.

Private Sub Workbook_Open()


UserForm1.Show
End Sub

4. Grabe el archivo como ejecutable y de tipo (libro de Excel habilitado para


macros). Luego cerramos el archivo y creamos un acceso directo.

Hacemos clic derecho / propiedades

1. Cambiamos el icono al acceso directo. Ahora si al darle doble clic se abre


el formulario:

PROF. CHRISTIAN MONTOYA 21

Vous aimerez peut-être aussi