PROGRAMAR EN VBA MACROS PARA EXCEL: Llenar combobox y copiar datos en celda de hoja de Excel

Llenar combobox y copiar datos en celda de hoja de Excel




En combobox incrustado en hoja de Excel se muestra como incrustar un combobox  en la hoja de Excel y seleccionar ítems desde el mismo, en este ejemplo la Macro realizada en VBA ejecuta un procedimiento sencillo, pero útil para comprender como copiar los datos del combo box a una celda de la hoja de Excel.

Al descargar el archivo, se podrá observar dos hojas, haciendo click en la imagen se  podrá ver su aspecto; una llamada Factura y otra llamada Clientes, la primer hoja tiene un espacio para cargar datos de productos, es una forma muy simplificada de una factura, en su parte superior se encuentra un botón el cual llama a un formulario, este formulario consta de un combobox y dos CommandButton o botones de comando, con un botón se cierra el formulario y con el otro se acepta el dato seleccionado en el combobox, el cual se copia automáticamente en la celda destinada a ingresar el nombre del cliente, luego de ello el formulario se oculta, en caso que se acepte y el combobox esté vacío, sale un msgbox indicando que se debe cargar un dato previamente. 
En este Blog hay varios post relacionados  con la búsqueda de datos a través de Macros de Excel o Procedimientos de VBA en el post buscar datos en tres columnas; si  quieres más ejemplos sobre como buscar datos deberías ver  como buscar datos en todas las filas  en base  a criterios. Si visitas el mapsite de este sitio,  podrás buscar en el índice del blog y descargar el ejemplo que necesites. 


En el post anterior combobox incrustado en hoja de Excel se explicaba en detalle como incrustar un combobox  en la hoja de Excel y seleccionar ítems desde el mismo, en este otro ejemplo la Macro realizada en VBA ejecuta un procedimiento muy similar, con la variante que en vez de estar incrustado en la hoja de Excel, el combobox está en un formulario, a lo que se agrega que se puede seleccionar el archivo donde buscar. Si bien hacen diferentes procedimientos en ambos se trabaja con combo box, lo cual sugiero que veas para comprender en forma más acabada  su uso.
Para finalizar te  recomiendo que leas un excelente libro sobre Excel el que te ayudará manejar las planillas de cálculo, debes hacer click acá.

Código que se inserta en un formulario, haz click para descargar el archivo de ejemplo
 
Private Sub CommandButton1_Click()
If ComboBox1 = Empty Then
MsgBox ("Se requiere que seleccione un nombre"), vbCritical, "AVISO"
ComboBox1.SetFocus
Exit Sub
End If
Sheets("Factura").Cells(2, 2) = ComboBox1
Unload Me
Sheets("Factura").Select
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub UserForm_Initialize()
Application.ScreenUpdating = False
ComboBox1.Clear
Sheets("Clientes").Select
Range("A2").Select
While ActiveCell <> Empty
ComboBox1.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend
End Sub


Código que se inserta en un módulo

Sub muestraform()
UserForm1.Show
End Sub







Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends