Seleccionar en Combobox un producto y automáticamente se muestren seriales en un ListBox
Primero que nada quiero agradecer mucho a todoexpertos porque de verdad me han ayudado mucho. No soy experta en Excel pero he aprendido mucho. Mi caso es el siguiente:
Tengo un UserForm que contiene 1 Combobox, 2 TextBox, 1 ListBox y 3 Botones. Necesito que cuando seleccione un producto del Combobox1 se muestre en el TextBox1. En el TextBox2 requiero colocar los seriales que corresponden a ese producto y que al darle al CommandButton1 los agregue en el ListBox1. Después que se agreguen todos lo seriales darle al botón "aceptar" y se copien en la hoja "SERIALES". En esta hoja se debe copiar el valor TextBox1 en la fila 5 desde la columna B y los seriales en la columna donde se copió el TextBox1 (debajo, o sea, en las filas siguientes). Si agrego otro producto con seriales él automáticamente se copia en la fila 5 de la última columna vacía y debajo se colocan los seriales. Hasta aquí he logrado que funcione lo que busco. Mi problemas es:
- Necesito que si el producto ya existe y se quieren agregar más seriales, al momento de colocar el producto en el ComboBox1 indique que ya existe y muestre los seriales que ya tiene en la hoja "SERIALES" en el ListBox1 para así poder agregar más seriales y al darle "aceptar" se copie todo nuevamente hasta con los seriales existentes (quiero que se muestren los seriales ya guardados para que vean si ese serial ya fue ingresado). En este momento si coloco un producto que ya existe simplemente lo vuelve a crear con los nuevos seriales y no me sirve así.
Este es mi UserForm
Este es mi código hasta ahora:
Private Sub aceptar_Click()
Set h = Sheets("SERIALES")
If ComboBox1 = "" Then
MsgBox ("DEBE SELECCIONAR UN PRODUCTO!"), vbCritical, "Resultado"
End If
For Columna = 2 To 1000
If h.Cells(5, Columna) = "" Then
Final = Columna
Exit For
End If
Next
h.Cells(5, Final) = TextBox1
Fila = 6
For i = 0 To ListBox1.ListCount - 1
h.Cells(Fila, Columna).Value = ListBox1.List(i, 0)
Fila = Fila + 1
Next
End If
ComboBox1 = ""
TextBox2 = ""
Sheets("INVENTARIO").Select
Range("F2").Activate
Unload Me
End Sub
____________
Private Sub cancelar_Click()
Unload Me
End Sub
____________
Private Sub ComboBox1_Change()
Dim Fila As Integer
Dim Final As Integer
If ComboBox1.Value = "" Then
TextBox1 = ""
End If
For Fila = 10 To 1000
If Sheets("INVENTARIO").Cells(Fila, 1) = "" Then
Final = Fila - 1
Exit For
End If
Next
For Fila = 10 To Final
If ComboBox1 = Sheets("INVENTARIO").Cells(Fila, 1) Then
TextBox1 = Sheets("INVENTARIO").Cells(Fila, 1)
Exit For
End If
Next
End Sub
____________
Private Sub ComboBox1_Enter()
Dim Fila As Integer
Dim Final As Integer
Dim Lista As String
For Fila = 1 To ComboBox1.ListCount
ComboBox1.RemoveItem 0
Next Fila
For Fila = 10 To 1000
If Sheets("INVENTARIO").Cells(Fila, 1) = "" Then
Final = Fila - 1
Exit For
End If
Next
For Fila = 10 To Final
Lista = Sheets("INVENTARIO").Cells(Fila, 1)
ComboBox1.AddItem (Lista)
Next
End Sub
______________
Private Sub CommandButton1_Click()
ListBox1.AddItem TextBox2.Value
ListBox1.List(a, 1) = TextBox2.Value
TextBox2 = ""
End Sub
______________