|
Lo de las matrices no domina paranada, pero con esta pequeña macro creo que te funcionara:
Notas al respecto: en negrita te he puesto los datos que tendrías que cambiar y poner los que te correspondan para tu hoja. En el ejemplo que yo me he fabricado, en la columna A esta la fecha, en la B el Nombre y en la C el importe
, en la celda J10, es en la que pongo el valor a buscar (es la fecha que buscara en la columna A y me coloca los datos en las columnas K:L
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "<span style="font-weight: bold;">$J$10</span>" Then
If Range("<span style="font-weight: bold;">k10</span>") <> "" Then
If Range("<span style="font-weight: bold;">k11</span>") = "" Then
Range("<span style="font-weight: bold;">k10:l10</span>") = ""
Else
Range("<span style="font-weight: bold;">k10:l10</span>").Select
Range(Selection, Selection.End(xlDown)) = ""
End If
End If
f = 10
With Range("<span style="font-weight: bold;">a:a</span>")
Set c = .Find(Range("<span style="font-weight: bold;">j10</span>"), LookIn:=xlFormulas)
If Not c Is Nothing Then
firstAddress = c.Address
Do
Range("<span style="font-weight: bold;">k</span>" & f) = c.Offset(0, 1).Value
Range("<span style="font-weight: bold;">l</span>" & f) = c.Offset(0, 2).Value
f = f + 1
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
End If
End Sub
si quieres puedes descargarte un fichero de ejemplo que he colgado en la siguiente direccion
http://cid-3d609d87423f2eeb.skydrive.live.com/browse.aspx/P%c3%bablico
el nombre del fichero es EJEMPLO LOCALIZAR EN MATRIZ
Espero que te sirva.
|