Userform – Caso práctico registro de producto por marca
¿CÓMO REGISTRAR EN MICROSOFT EXCEL DE UNA FORMA FÁCIL Y DINÁMICA? – USO DE FORMULARIO
Los formularios en VBA nos permiten colocar controles que nos ayudarán a solicitar información de forma ordenada. Podremos colocar cajas de texto, etiquetas, cuadros combinados, botones de comando, etc. De esta manera la recolección de información se hace más accesible y se reducen las tareas repetitivas.
CASO REGISTRO DE PRODUCTO POR MARCA
En esta ocasión se requiere un simple registro de productos por tipo y de acuerdo a esa selección mostrar los productos según lo señalado anteriormente, al final con el botón mostrar listará la aplicación y el programa seleccionado.
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. También se puede insertar un userform haciendo click derecho en “ThisWorkbook”, insertar y userform.
Luego se diseña un formulario que pueda permitir el ingreso de todos los datos necesarios para el registro. En este caso sólo uno.
Con el cuadro de herramientas insertamos 3 Label, 2 Combobox, dos CommandButton, y un listbox.
A continuación, vamos a mostrar las propiedades de los 8 objetos insertados en el formulario:
Finalizado el ejercicio se va a crear el botón REGISTRO DE PRODUCTO que va a ejecutar el formulario.
Es el momento de realizar el código del formulario:
CÓDIGO USERFORM – EVENTO INITIALIZE
Private Sub UserForm_Initialize()
‘calcular la última fila de la hoja “BD”
ultfila = Sheets(“BD”).Range(“A” & Rows.Count).End(xlUp).Row
‘bucle para cargar los datos detallados en la hoja “BD” al ComboBox
For i = 2 To ultfila
cboMarca.AddItem Sheets(“BD”).Cells(i, “A”).Text
cboProducto.AddItem Sheets(“BD”).Cells(i, “C”).Text
Next i
End Sub
CÓDIGO BOTÓN MOSTRAR
Private Sub btnMostrar_Click()
‘mostrar el resumen de la marca y el producto elegido
lstR.Clear
lstR.AddItem “** RESUMEN DE SELECCION **”
lstR.AddItem ” El tipo de producto seleccionado es: ” & cboMarca.Text
lstR.AddItem ” El producto seleccionado es: ” & cboProducto.Text
End Sub
CÓDIGO BOTÓN ENVIAR
Private Sub btnEnviar_Click()
‘calcular la última fila de la hoja REGISTROS
ultfila = Sheets(“REGISTRO”).Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row
‘ahora copiamos la información elegida en el ComboBox a la hoja de trabajo
Sheets(“REGISTRO”).Cells(ultfila, 2).Value = ultfila – 5
Sheets(“REGISTRO”).Cells(ultfila, 3).Value = cboMarca.Text
Sheets(“REGISTRO”).Cells(ultfila, 4).Value = cboProducto.Text
‘código para centrar y enmarcar el contenido de las celdas
Sheets(“REGISTRO”).Cells(ultfila).HorizontalAlignment = xlCenter
Range(Cells(ultfila, 2), Cells(ultfila, 4)).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
End With
End Sub
MACRO PARA INICIAR EL FORMULARIO
Sub ABRIR_FORM()
‘mostrar el formulario en pantalla
frmformulario.Show
End Sub
Luego de ingresar todo este código, vamos a crear en la hoja de excel un botón que ejecute el formulario:
Hemos logrado crear una herramienta que logre facilitar la tarea de registrar con ayuda de este userform.
Deja una respuesta