Cargar List Box según combo box con filtros Excel
Acudo nuevamente a solicitar de su ayuda en la cual le comento el formulario que estoy realizando y esperado contar con su apoyo.
Estoy elaborando un formulario en la cual busque un numero de pedido y selecciones una cantidad de artículos para luego cargar estos artículos a una plantilla para realizar la impresión de una guía de remisión.
Este es el formulario de ingreso selecciono el numero de pedido y al seleccionar el numero me carga los artículos que tiene este pedido.
Pero de esta lista puedo seleccionar que artículos van a ir en la guía y que productos no, si elimino los producto que no necesito en la guía estos artículos que no salen en la guía me salen como pendientes y los que salieron en la guía me sale como impreso.
Mi problema es el siguiente es cuando quiero cargar en el combo box cargar pedido solo los artículos que están pendientes de la hoja BD_GUIAS me salen todos artículos incluso que ya fueron impresos me puede ayudar con un código para solo carguen en el combo box los números pedidos pendientes y que al seleccionar el pedido se carguen en el LIST BOX y que en el combo box no se repitan los números de pedidos que solo se muestre uno.
Este es el código que utilizo para que en el combo pedido solo se muestren los artículos pendientes de impresión
Private Sub UserForm_Initialize() Application.ScreenUpdating = False Dim sd As New Collection Dim celda As Range Dim dato Dim r As String Dim uf As Integer Application.ScreenUpdating = False On Error Resume Next ComboBox1.Clear Sheets("BD_GUIAS").Select Range("i7").Select uf = Range("i" & Rows.Count).End(xlUp).Row r = "i7:i" & uf For Each celda In Range(r) sd.Add celda.value, CStr(celda.value) Next celda For Each dato In sd ComboBox1.AddItem dato Next dato TextBox11.Text = "PENDIENTE" Application.ScreenUpdating = True Hoja16.Select 'Unload Me End Sub
y este es el código que utilizo para que no mostrar duplicados en combo box pero al ingresarlo se cruza con el de artículos pendientes de impresión.
Dim fila As Integer Dim uf1 As Integer Dim d1, d2 As String fila = 7 uf1 = Sheets("BD_GUIAS").Range("n" & Rows.Count).End(xlUp).Row ComboBox1.Clear While Sheets("BD_GUIAS").Cells(fila, 14) <> Empty d1 = TextBox11.Text d2 = Sheets("BD_GUIAS").Cells(fila, 14) If d1 = d2 Then ComboBox1.AddItem Sheets("BD_GUIAS").Cells(fila, 9) End If fila = fila + 1 Wend
gracias por la atención prestada
Slds
Robert