Si en la hoja "desglose" solamente tienes un nombre.
Con el método Find( ) , busca en la columna "A" la primer coincidencia del nombre, revisa en la columna B el periodo y si coincide el periodo termina el ciclo; si no coincide el periodo, sigue buscando con FindNext( ), hasta encontrar la coincidencia con el periodo, si al final no encontró un registro que cumpla con las 2 coincidencias, te envía el mensaje.
Sub Buscar_Orden()
'Por.Dante Amor
Set h = Sheets("Incidencias")
Set r = h.Columns("A")
Set b = r.Find(Range("A2"), LookAt:=xlWhole)
existe = False
If Not b Is Nothing Then
celda = b.Address
Do
If h.Cells(b.Row, "B") = Range("B2") Then
existe = True
Range("C2") = h.Cells(b.Row, "C")
End If
Set b = r.FindNext(b)
Loop While Not b Is Nothing And b.Address <> celda
End If
If existe = False Then MsgBox "El nombre y periodo no existen"
End Sub
Si en la hoja "desglose" tienes varios nombres, entonces utiliza la siguiente macro, es el mismo principio que la macro anterior, pero en la hoja desglose puedes poner nombres y periodos desde la fila 2.
'
Sub Buscar_Orden2()
'Por.Dante Amor
Set h = Sheets("Incidencias")
Set r = h.Columns("A")
For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
nombre = Cells(i, "A")
periodo = Cells(i, "B")
Set b = r.Find(nombre, LookAt:=xlWhole)
existe = False
If Not b Is Nothing Then
celda = b.Address
Do
If h.Cells(b.Row, "B") = periodo Then
existe = True
Cells(i, "C") = h.Cells(b.Row, "C")
End If
Set b = r.FindNext(b)
Loop While Not b Is Nothing And b.Address <> celda
End If
If existe = False Then Cells(i, "C") = "El nombre y periodo no existen"
Next
End Sub
.
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
.
Avísame cualquier duda
.