Te anexo la macro, para que la pongas en los eventos de la hoja de salida:
Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
If Target.Count > 1 Then Exit Sub
If Target.Address(False, False) <> "C4" Then Exit Sub
'
Set h1 = Sheets("hoja salida")
Set h2 = Sheets("datos")
'
u = h1.UsedRange.Rows(h1.UsedRange.Rows.Count).Row
If u < 11 Then u = 11
h1.Range("A11:K" & u).ClearContents
j = 11
Set r = h2.Columns("D")
Set b = r.Find(Target, lookat:=xlWhole)
If Not b Is Nothing Then
ncell = b.Address
Do
'detalle
h1.Cells(j, "C") = h2.Cells(b.Row, "G")
h1.Cells(j, "D") = h2.Cells(b.Row, "H")
h1.Cells(j, "E") = h2.Cells(b.Row, "I")
h1.Cells(j, "F") = h2.Cells(b.Row, "K")
j = j + 1
Set b = r.FindNext(b)
Loop While Not b Is Nothing And b.Address <> ncell
Else
MsgBox "No se encontraron datos"
End If
End Sub
Sigue las Instrucciones para poner la macro en los eventos de worksheet
- Abre tu libro de excel
- Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
- Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
- Del lado derecho copia la macro