¿Cómo diferenciar datos de un listbox?

Estoy complicado con un listbox, su función principal es filtrar unos valores y mostrarlos en un formulario para poder darle click y modificarlo, el problema es que esos valores pueden ser los mismos pero estar ubicados en diferentes sectores, por ejemplo tengo un producto1 con 10 unidades en el sector b2, pero este mismo producto lo tengo en otro sector por temas de espacio. El listbox me reconoce el producto pero toma y selecciona siempre el primer valor que encuentra. Me gustaría poder indicarle al código que tome el valor que le índico y no haya problema si hay una duplicidad de datos.( Lo que me imagino es colocar un requerimiento de nombre y sector, si se cumple llevarme a esa celda)

Adjunto código

'Cerrar formulario
Private Sub CommandButton2_Click()
Unload Me
End Sub
'
'Abrir el formulario para modificar
Private Sub CommandButton3_Click()
If Me.ListBox1.ListIndex < 0 Then
    MsgBox "No se ha elegido ningún registro", vbExclamation, "Luffytoys"
Else
    frmModificar.Show
End If
End Sub
'
'Eliminar el registro
Private Sub CommandButton4_Click()
If Me.ListBox1.ListIndex < 0 Then
    MsgBox "No se ha elegido ningún registro", vbExclamation, "Luffytoys"
Else
    Pregunta = MsgBox("Está seguro de eliminar el registro?", vbYesNo + vbQuestion, "Luffytoys")
If Pregunta = vbYes Then
    ActiveCell.EntireRow.Delete
End If
End If
'Mandamos llamar el botón filtrar
Call CommandButton5_Click
End Sub
'
'Mostrar resultado en ListBox
Private Sub CommandButton5_Click()
On Error GoTo Errores
If Me.txtFiltro1.Value = "" Then Exit Sub
Me.ListBox1.Clear
j = 1
Filas = Range("B1").CurrentRegion.Rows.Count
For i = 2 To Filas
    If LCase(Cells(i, j).Offset(0, 1).Value) Like "*" & LCase(Me.txtFiltro1.Value) & "*" Then
        Me.ListBox1.AddItem Cells(i, j)
        Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Cells(i, j).Offset(0, 1)
        Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = Cells(i, j).Offset(0, 2)
        Me.ListBox1.List(Me.ListBox1.ListCount - 1, 3) = Cells(i, j).Offset(0, 3)
        Me.ListBox1.List(Me.ListBox1.ListCount - 1, 4) = Cells(i, j).Offset(0, 4)
        Me.ListBox1.List(Me.ListBox1.ListCount - 1, 5) = Cells(i, j).Offset(0, 5)
    Else
    End If
Next i
Exit Sub
Errores:
MsgBox "No se encuentra.", vbExclamation, "Luffytoys"
End Sub
'
'Activar la celda del registro elegido
Private Sub ListBox1_Click()
Range("A2").Activate
Cuenta = Me.ListBox1.ListCount
Set Rango = Range("A1").CurrentRegion
For i = 0 To Cuenta - 1
    If Me.ListBox1.Selected(i) Then
        Valor = Me.ListBox1.List(i)
        Rango.Find(What:=Valor, LookAt:=xlWhole, After:=ActiveCell).Activate
        End If
Next i
End Sub
'
'Dar formato al ListBox y traer datos de la tabla
Private Sub UserForm_Initialize()
'
With ListBox1
    .ColumnCount = 5
    .ColumnWidths = "60 pt; 290pt; 50 pt; 75 pt; 30 pt"
End With
End Sub

Añade tu respuesta

Haz clic para o