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