Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
Userform aplicado al registro de facturas, Userform aplicado al registro de facturas

Userform aplicado al registro de facturas

| 12 comentarios

EJEMPLO DE USERFORM PARA REGISTRO DE FACTURAS

Los formularios en Excel son un método para ingresar datos a nuestras hojas y son de mucha utilidad porque nos ayudan a evitar errores en la captura de información

En este caso elaboraremos  un userform que nos permita registrar facturas de los proveedores de un
Supermercado,  teniendo en cuenta los siguientes variables:

  1. Tipo de proveedor
  2. Nombre del proveedor
  3. Número de factura
  4. Moneda en que se pagará la factura.
  5. Monto de la factura

En cuanto al tipo de proveedor, la persona que ingresará la factura tendrá para elegir dos opciones: proveedor nacional  o proveedor extranjero.

Para el caso del nombre de proveedor, éste podrá ser elegido de una lista de proveedores ya ingresados en el sistema.

La moneda en que se pagará la factura también estará predeterminada, pudiendo elegir entre soles, dólares y euros.

Comencemos con el desarrollo del formulario:

Lo primero que hacemos es crear en el archivo un botón de comando que esté asignado al formulario a ser llenado.

Para esto es necesario ir a PROGRAMADOR/INSERTAR/CONTROLES ACTIVEx/ BOTÓN DE COMANDO

uno2 300x181, Userform aplicado al registro de facturas

(Para mayor visualización de la imagen, hacer click en la misma)

Luego ingresamos un código en el Botón de comando que permita que al hacer click sobre éste se muestre el Formulario.

dos1 300x174, Userform aplicado al registro de facturas

(Para mayor visualización de la imagen, hacer click en la misma)

El código a ingresar es el siguiente:

Private Sub CommandButton1_Click()
UserForm1.Show
End Sub

También insertamos códigos que permitan mostrar mensajes de bienvenida y de salida:

Private Sub registrodedatos_Open()
MsgBox "Supermercados Eroski le da la bienvenida, por favor ingrese los datos."
End Sub

Private Sub registrodedatos_Deactivate()
MsgBox "Supermercados Eroski,precios más bajos siempre."
End Sub

El formulario  a  utilizarse tiene un aspecto así:

tres1 300x175, Userform aplicado al registro de facturas

(Para mayor visualización de la imagen, hacer click en la misma)

Tengamos en cuenta que:

CommandButton1 ---> Actualizar tipo de proveedor

OptionButton1 ---> Nacional

OptionButton2 ---> Extranjero

TextBox1 ---> Almacena Tipo de Proveedor seleccionado

ComboBox1---> Almacena lista de proveedores

CommandButton2---> Actualizar Proveedor

TextBox2 ---> Almacena  Proveedor seleccionado

TExtBox3 ---> Almacena número de factura.

ComboBox2---> Muestra moneda en que se puede pagar la factura (soles, dólares, euros).

TextBox4---> Almacena monto de la factura a registrar

CommandButton3 ---> Graba todos los datos registrados en la hoja Base de Datos

CommandButton4 --> SALIR

Los códigos de programación utilizados son los siguientes:

Private Sub CommandButton1_Click()
If OptionButton1.Value = True Then
TextBox1.Text = OptionButton1.Caption
End If
If OptionButton2.Value = True Then
TextBox1.Text = OptionButton2.Caption
End If
End Sub

Private Sub CommandButton2_Click()
TextBox2.Text = ComboBox1.Text
End Sub

Private Sub userform_activate()
ComboBox1.Clear
ComboBox1.AddItem ("LAIVE")
ComboBox1.AddItem ("SHEARVAN")
ComboBox1.AddItem ("BACKUS")
ComboBox1.AddItem ("NESTLE")
ComboBox1.AddItem ("REDFIELD")
ComboBox1.AddItem ("BIMBO")
ComboBox1.AddItem ("COLGATE PALMOLIVE")
ComboBox1.AddItem ("PROCTER&GAMBLE")
ComboBox1.AddItem ("FLORIDA")
ComboBox1.AddItem ("GLORIA")
ComboBox1.AddItem ("SUAVE")
ComboBox1.AddItem ("IPHOIDEAS")
ComboBox1.AddItem ("QUIRCH FOODS")
ComboBox1.AddItem ("KRAFT FOODS")
ComboBox1.AddItem ("LINDLEY")
ComboBox1.AddItem ("CLOROX")

ComboBox2.Clear
ComboBox2.AddItem ("PEN")
ComboBox2.AddItem ("USD")
ComboBox2.AddItem ("EUR")

End Sub

Private Sub CommandButton3_enter()
Sheets("Base de datos").Select
Range("A2").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell = TextBox1
ActiveCell.Offset(0, 1).Select
ActiveCell = TextBox2
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = ComboBox2.Value
ActiveCell.Offset(0, 1).Select
ActiveCell = TextBox3
ActiveCell.Offset(0, 1).Select
ActiveCell = TextBox4
ActiveCell.Offset(0, 1).Select

TextBox1 = Empty 'textbox1, dejar en blanco
TextBox2 = Empty
TextBox3 = Empty
TextBox4 = Empty
TextBox5 = Empty
MsgBox "REGISTRO FINALIZADO" 'mostrar el mensaje "REGISTRO FINALIZADO"
End Sub

Private Sub CommandButton4_Click()
Sheets("Principal").Select
UserForm1.Hide

End Sub

12 comentarios

Deja una respuesta

Los campos requeridos estan marcados con *.