Académique Documents
Professionnel Documents
Culture Documents
Luego se ello aparecerá un formulario en Excel en blanco, desde el cual se podrá añadir los
elementos que se consideren necesarios desde el cuadro de herramientas.
Si la ventana de proyectos no aparece puede ir al menú “Ver”, luego seleccionar “Explorador de
Proyectos”, o usar CTRL + R.
En caso una vez creado el formulario no aparezca el cuadro de herramientas, puede ir al menú “Ver” y
luego seleccionar la opción “Cuadro de herreamientas”.
Para examinar las propiedades de un formulario de Excel, puede revisar el artículo “Propiedades de un
formulario en Excel”
3. Finalmente, una vez que todos los datos sean los adecuados se procederá a realizar el registro y
la base de datos de los gastos realizados por los trabajadores se irá actualizando. En este ejemplo se
crea un command button “completar registro” que llama directamente al formulario:
Plantilla para el registro de clientes usando formularios
Si es que trabajamos con base de datos de clientes nuevos, los cuales debemos registrar su
información diariamente es recomendable usar macros para facilitarnos el proceso.
Primero realizamos la plantilla
En esta plantilla vamos a poder registrar los datos de la persona y luego registrarlo en una pestaña de
un excel. A su vez también podremos limpiar los textos para poder registrar a otros clientes.
Para el botón “Cliente Nuevo” usamos las siguientes macros:
Private Sub commandbutton1_click()
Sheets(“Hoja1”).Select
CELULAR = TextBox5.text
If Len(Trim(CELULAR)) = 9 And IsNumeric(CELULAR) Then
ult = Cells(Rows.Count, 1).End(xlUp).Row
Cells(ult + 1, 1) = TextBox1.text
Cells(ult + 1, 2) = TextBox2.text
Cells(ult + 1, 3) = ComboBox1.text
Cells(ult + 1, 4) = TextBox4.text
Cells(ult + 1, 5) = TextBox6.text
Cells(ult + 1, 6) = TextBox5.text
Else
MsgBox “Número ingresado es inválido”
End If
End Sub
La macro nos indica que en la Hoja 1 se copiaran los datos que están en las cajas de texto y en la
lista. Además nos dice que en la caja de texto de “celular” tendrá que ir siempre 9 dígitos y números,
de lo contrario nos enviará una caja de texto indicando que el número es inválido.
Para el botón “Borrar lista”
Private Sub CommandButton2_Click()
TextBox1.text = “”
TextBox2.text = “”
TextBox4.text = “”
TextBox5.text = “”
TextBox6.text = “”
ComboBox1.Clear
End Sub
Esta macro nos ayuda a limpiar todas las cajas de texto y de la lista para poder ingresar nuevos
datos.
Pare tener la lista de Másculino y Femenino
Private Sub UserForm_Activate()
ComboBox1.AddItem ((“Femenino”))
ComboBox1.AddItem ((“Masculino”))
End Sub
Usamos la macro anterior para indicarle a la lista del combobox1 que los valores que debe tener son
“Femenino” y “Masculino”
Botónes de opción
Private Sub Extranjero_Click()
If Extranjero = True Then
TextBox6 = Extranjero.Name
End If
End Sub
Private Sub Peruano_Click()
If Peruano = True Then
TextBox6 = Peruano.Name
End If
End Sub
Usamos las 2 anteriores macros para indicar que si seleccionamos un botón, el nombre de éste irá al
cuadro de texto 6. Cabe mencionar que debemos cambiar el Name de estos botones.
Y de esa manera se trabaja la macro.
Frases de justicia
A continuación presentamos un ejemplo de como se pueden utilizar macros para generar frases
acompañadas de imágenes, en este caso la temática: Justicia.
El inicio es sobre la hoja “Generador” y cuenta con un botón “Iniciar” que llama al userform1 que es
donde se combinan de manera aleatoria las imágenes y frases. Como se muestra abajo:
Para el presente ejercicio de Frases de Justicia, se le incorporó un botón “Colabora” que permitirá
grabar una frase y añadirla a la lista existente, la nueva frase será incorporada dentro de la lista de
frases empleadas, y podrá aparecer en lista de frases de justicia.
Plantilla de Registro Anecdótico
Hoy aprenderemos a hacer formularios con la ayuda de VBA, y como ejemplo haremos un Formulario
que nos servirá como Plantilla de registros anecdóticos:
Para programar nuestro UserForm, debes dar click en alguna parte del mismo pero no en las cajas de
texto, o cualquier herramienta agregada, clickea en un espacio vacío y podrás empezar.
**RECUERDA: Si lo que buscamos es registrar todo en un libro de excel debes usar:
Ult = Cells(Rows.Count, 1).End(xlUp).Row
If Len(TextBox1.Text) = 8 And IsNumeric(TextBox1.Text) Then
Cells(Ult + 1, 1) = TextBox1.Text
Así podrás registrar en filas sucesivas, en este caso se muestra lo que para nuestro ejemplo
localizaría el dato DNI en nuestro cuadro de excel. Puedes realizar lo mismo en los cuadros de texto
sucesivos.
**EDITANDO EL COMBOBOX: Aquí debes agregar aquellos términos que desees que aparezcan
para la selección e la barra desplegable.
Private Sub UserForm_Activate()
ComboBox1.AddItem (“Hogar”)
End Sub
** EDITANDO OPTIONBUTTON: Te muestro el comando para agregar la opción seleccionada, al
cuadro de texto correspondiente, puedes realizar esto con casa una de las opciones que tengas:
Private Sub CommandButton2_Click()
If OptionButton1.Value = True Then
TextBox7.Text = OptionButton1.Caption
End If
End Sub
** Y PARA COMPLETAR EL FORMULARIO PUEDES AGREGAR UN BOTÓN EN LA HOJA DE
EXCEL PARA QUE ESTE DERIVE AL FORMULARIO (UserForm1), RECUERDA QUE
ENCUENTRAS ESTE TIPO DE BOTONES EN EN LA SECCIÓN Desarrollador> Insertar> ActiveX, y
el código de este botón sería:
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
Por último te dejo el ejemplo realizado, revísale y adelante ¡GENERA TU PROPIO FORMULARIO!
Este formulario aparecerá cuando abrimos el archivo de Excel para ello hemos tenido que crear los
siguientes códigos:
En el Workbook.
Private Sub Workbook_Open()
UserForm1.Show
End Sub
Si selecciona el botón continuar deberá parecer la ventana que permita ver la imágenes y las frases
sobre confianza de una manera aleatoria cada vez que se presiona el botón Generar Otra…
Este formulario tiene los siguientes códigos:
El botón Salir.
Private Sub CommandButton2_Click()
End
End Sub
El botón Generar Otra…
Private Sub CommandButton1_Click()
contador_frase = WorksheetFunction.RandBetween(1, 20)
frasealetoria = Worksheets(2).Cells(contador_frase + 1, 2)
T1.Text = frasealetoria
contador_imagen = WorksheetFunction.RandBetween(1, 5)
Image1.Picture = LoadPicture(ActiveWorkbook.Path & “\frasesconfianza\” & contador_imagen & “.jpg”)
End Sub
Espero que les guste este proyecto tanto como a mí.
Y el segundo, para el llenado de los datos del crédito. Datos como fecha de ortogamiento del crédito,
tipo de crédito, moneda, tasa de interés (TEA) asociada al tipo de moneda, monto del crédito, el
periodo o plazo, determinar la cuota dato las caracteristicas del crédito y la fecha de vencimiento.
Formulario de datos del crédito
Como ejemplo, tenemos el llenado de un individuo ficticio llamado Juan Pérez Pérez con DNI
08545898, de estado civil soltero, nacido un 29 de febrero de 1980 y que se encuentra laborando.
Además, el Sr. Peréz solicita su crédito el día de 16 de febrero de 2014 de tipo crédito de consumo en
dólares américanos (US$) el cuál tiene una TEA de 5%; el monto es de US$ 5,000 por un plazo de 12
meses (mes de 30 días). La cuota asociada a este crédito sería de US$ 564 con vencimiento de
11/02/2014.
Los resultados en la hoja excel “datos personales” y “datos de crédito” se muestran a continuación.
Asimismo, en una nueva hoja diseñar una tabla como se indica en la figura.
Luego, se procederá con la creación del Formulario “Registro de Datos”. Además, se debe incorporar
los comandos necesarios para el ingreso de datos. Entre estos comandos tenemos las etiquetas,
botones, cajas de textos, etc. A continuación se muestra un ejemplo de formulario.
(Para mayor visualización de la imagen, hacer click en la misma)
Concluido el diseño del formulario se debe realizar la programación.
Desde el módulo se programa la lectura de los datos y el cálculo del “Importe Total” por compra.
Desde el formulario, se realiza la programación para los botones “Registrar”, “Limpiar” y “Salir”
Finalmente, se programa el Botón que se creó en un inicio (“Registrar Venta”) desde la hoja de Excel.
El uso del modelo se inicia con el Botón “Registrar Venta”, el cual permite completar el formulario
respectivo. En este Userform se ingresan los datos del cliente, producto y se obtiene el importe de la
compra. Concluido el ingreso de datos se debe seleccionar “Registrar” para que estos sean colocados
en la hoja de Excel.
Si se desea eliminar la data anterior y registrar otra compra se debe elegir “Limpiar”. Para salir del
formulario se requiere seleccionar “Salir”.
Basicamente lo que estamos logrando con este código es que en la hoja 2 de nuestro documento se
vayan registrando los datos de cada venta de entradas al cine que se hagan desde el formulario. (en
orden y sin tener que ingresarlas una por una en las celdas).
Recordemos que necesitamos que cada vez que se haga un ingreso, los datos se quedan aún en las
casillas de texto, por tanto es necesario que se eliminen para que den paso a un formulario listo para
ingresar una nueva venta. Es por eso que en el código habíamos agregado:
TextBox1.Text = “”
TextBox2.Text = “”
TextBox3.Text = “”
TextBox4.Text = “”
TextBox5.Text = “”
ComboBox1.Text = “”
OptionButton1.Value = False
OptionButton2.Value = False
OptionButton3.Value = False
OptionButton4.Value = False
OptionButton5.Value = False
Ya que se encargarán de limpiar el formulario luego del ingreso de datos de una venta.
Finalmente agregamos un botón de comando en la primera hoja del libro de excel ya que nos
permitirá acceder al formulario cuando hagamos click en el.
(Para mayor visualización de la imagen, hacer click en la misma)
El objetivo de este userform, como se habrá podido notar, es hacer más llevadera la tarea de
Registrar Ventas.
Aquí adjunto el ejercicio en excel de manera que pueda ser revisado y entendido de mejor manera.
Esta información es más aun importante si se tratase de una escuela de negocio extranjero que toma
el riesgo de ingresar dentro de la oferta de conferencias de las escuelas de negocio de Perú.
Para ello, utilizando los formularios y las macros en Microsof Excel, se ha desarrollo una forma de
registrar a los asistentes.
Esta información es más aun importante si se tratase de una escuela de negocio extranjero que toma
el riesgo de ingresar dentro de la oferta de conferencias de las escuelas de negocio de Perú.
Para ello, utilizando los formularios y las macros en Microsof Excel, se ha desarrollo una forma de
registrar a los asistentes.
Al ingresar al archivo aparecerá un mensaje de bienvenida, seguido por el logo de la Marca del
Concesionario, el cual posee un botón de Comienzo, este corresponde al Userform2, con la siguiente
codificación en VBA:
Al comenzar nos llevará al formulario para ingresar los datos de la Venta: Cliente, Categoría del
Vehículo, Modelo, Modalidad de la Venta y Tiempo de entrega del Vehículo.
Para esto usaremos el Userform 2, con la siguiente codificación:
(Para mayor visualización de la imagen, hacer click en la misma)
Además dentro de este formulario, se tiene enlace para ver el modelo por si no recuerda su
apariencia:
(Para mayor visualización de la imagen, hacer click en la misma)
Todos los datos se registrarán en la hoja01 del libro, teniendo la posibilidad de ir adicionando mayor
cantidad de ventas, ingresando nuevamente al formulario desde el botón en la hoja03 (donde se
encuentran las listas de modelos y categorías), o presionando el botón de nuevo registro dentro del
mismo formulario.
(Para mayor visualización de la imagen, hacer click en la misma)
Archivo Excel habilitado para macros:
Como se puede apreciar, para el “Nombre del paciente”, “Fecha”, “Especialidad” y “Centro Médico” se
ingresan los datos por medio de la selección de una opción de una lista despegable, de estas listas,
solo las correspondientes a “Especialidad” y “Centro Médico” están registradas en la “Hoja1” de Excel
para que se más sencillo agregar nuevos datos a las listas
(Para mayor visualización de la imagen, hacer click en la misma)
Así mismo, la lista para la fecha, tiene su respectivo mensaje de verificación para no caer en errores
Finalmente, el formulario tiene un botón para registrar todos los datos e ingresarlos en la “Hoja2” del
libro con su respectivo rubro por columna y otro botón para limpiar los datos del formulario y así poder
llenarlo nuevamente.
Formulario en VBA aplicado a Ingreso de Datos de una Orden de
Trabajo
Es necesario mencionar que existen múltiples formatos de órdenes de trabajo. El diseño depende del
usuario y los datos que requiere registrar. En este caso, se ha propuesto un diseño bastante simple.
El formulario está en función del mismo y permite llenar los datos en una hoja llamada formato de Ot y
en el Registro de todas la órdenes de trabajo ingresadas.
A continuación, observamos la primera imagen que aparece cuando accedemos al libro excel. Este
contiene el logo de la empresa, la versión y un botón que permite iniciar el registro de los datos en el
formulario.
Además, se incluyen 2 botones de acción, uno de ellos corresponde a la acción de registrar al alumno
y el otro botón sirve para salir de la aplicación. El primero está programado de tal forma que los datos
ingresados en el formulario de escriban automáticamente a la hoja de Excel indicada, con esto
quedan registrados y grabados los datos de cada alumno nuevo. La programación fue la siguiente:
Userform aplicado para extraer productos de una lista
Un Userform es un formulario diseñado con formato y estructura estándar que facilita la captura, la
organización y la edición de la información.
Este userform tiene como finalidad ayudar al usuario a extraer datos de una gran base de datos y
poder registrarlo en una nueva tabla. Así se logra una reducción en el tiempo de búsqueda del usuario
y el tiempo de registro de datos.
En este caso se cuenta con una lista de artículos que cuenta con los siguientes datos: número de
artículo, descripción, precio y stock. En base a esta base de datos se ejecutará la macro. Se crea un
botón el cual hará aparecer el formulario.
Este formulario nos ayudará a obtener los datos de la lista de productos. Se hará click en el botón
nuevo. Este formulario cuenta con una lista desplegable con la cual el usuario puede seleccionar el
artículo deseado. Luego, al hacer click en el botón transferir automáticamente se registrarán los datos
del productos a una nueva lista.