2*1+2*2 это я для примера написал, ну чтобы знали как работает СТРОКА() и СТОЛБЕЦ() (то есть массив). для Вашего последнего файла, код в лист (ALT+F11):
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$I$5" Then Exit Sub
Dim i&, y&
Application.ScreenUpdating = 0
y = 5
Range("J5:L" & Cells(Rows.Count, 10).End(xlUp).Row).ClearContents
[J4].Resize(1, 3).Value = Array("Имя", "Плод", "Какой")
For i = 5 To Cells(Rows.Count, 2).End(xlUp).Row
If Target.Value = Range("B" & i).Value Then
Range("J" & y).Value = Range("C" & i).Value
Range("K" & y).Value = Range("D" & i).Value
Range("L" & y).Value = Range("E" & i).Value
y = y + 1
End If
Next
Application.ScreenUpdating = 1
End Sub
---------------------------------------------------------------------------------------------------------------- Planetaexcel.ru, Excelworld.ru и др. форумы по Excel VBA.
Сообщение отредактировал DauletAhamanov: 17.06.2014, 17:37:29