Private Sub Suministra_Click()
Dim I As Integer, Pos As Integer, numReg As Integer, Pos1 As Integer
ComboBox1.Visible = True
Sheets("Productos").Select
Range("B1").Select
Do While ActiveCell <> Productos.Text
Productos.AddItem ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Celda = ActiveCell.Address
Loop
Pos = Mid(Celda, 4, 3) + 1 'Detecta en que linea se posiciona al principio del fichero
Range("B" & Pos).Select
Do While ActiveCell = Empty
Productos.AddItem ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Celda = ActiveCell.Address
Loop
Pos1 = Mid(Celda, 4, 3) - 1 'Detecta en que linea se posiciona al final del fichero
numReg = (Pos1 - Pos) 'nº de registros que cumplen la condición
Range("B" & Pos).Select
ComboBox1.Clear
ComboBox1.ColumnCount = 2
ComboBox1.List = Range("C" & Pos, "D" & Pos).Value
For I = 0 To numReg 'Cargar las lineas del ComboBox
ComboBox1.AddItem ActiveCell.Value
ComboBox1.AddItem
ComboBox1.List(I, 0) = Range("C" & Pos)
ComboBox1.List(I, 1) = Range("D" & Pos)
Pos = Pos + 1
Next
End Sub