Esto es parte un formulario que tiene lo que tu quieres lo que debes hacer es un bucle que te busque que recorra las filas y busque los datos de acurdo a los criterios que envías,
Fijate si te aporta el procedimiento que agreqo aquí, en www.programarexcel.blogspot.com hya varios ejemplos analiza alguno de ellos que te van a servir para lo que quieres, lo debes adaptar a tus necesidades, luego me comentas.
Private Sub CommandButton8_Click()
Application.ScreenUpdating = False
Sheets("dbcomp").Unprotect Password:="1610"
Sheets("ingreso comprobante").Unprotect Password:="1610"
'Primero busca el registro y luego lo elimina
Dim Quebusco1 As String
Dim Quebusco2 As String
Dim Quebusco3 As String
Dim Quebusco4 As String
Dim Quebusco5 As String
Dim filabusqueda As String
Dim filaIC As String
filabusqueda = 2
filaIC = 8
'la variable Que guarda el dato ingresado
Quebusco1 = ComboProveedorB.Value
Quebusco2 = ComboComprobanteB.Value
Quebusco3 = ComboTipoB.Value
Quebusco4 = TextPrefijoB.Value
Quebusco5 = TextNumeroB.Value
' busca en la hoja dbcomp los datos de los combo y texbox para determinar si hay duplicados
While Sheets("dbcomp").Cells(filabusqueda, 2) <> Empty
If Quebusco1 = Sheets("dbcomp").Cells(filabusqueda, 3).Value And _
Quebusco2 = Sheets("dbcomp").Cells(filabusqueda, 4).Value And _
Quebusco3 = Sheets("dbcomp").Cells(filabusqueda, 5).Value And _
Quebusco4 = Sheets("dbcomp").Cells(filabusqueda, 6).Value And _
Quebusco5 = Sheets("dbcomp").Cells(filabusqueda, 7).Value Then
'si se encuentra el dato puede mostrar un mensaje de error como el siguiente
miopcion = MsgBox("Seguro desea eliminar el registro", vbCritical + vbOKCancel)
If miopcion = 1 And Sheets("dbcomp").Cells(filabusqueda, 10) = Empty Then
Sheets("dbcomp").Activate
Sheets("dbcomp").Cells(filabusqueda, 3).Select
Selection.EntireRow.Delete
GoTo aqui1
Else
MsgBox "No se puede eliminar comprobante" & Chr(10) & " tiene OP asociadas", vbInformation
Exit Sub
End If
'busca en la fila siguiente
Else
filabusqueda = filabusqueda + 1
End If
Wend