Я хочу копировать строки из листа1 только тогда, когда ячейка в столбце B имеет определенное значение, которое является строкой. Я использовал приведенный ниже код, который, кажется, копирует строки, но просто вставляет пустые ячейки в новый лист.
Мне кажется, проблема в том, что он ищет значение, а не строку (может ли строка быть значением?). Нужно ли определять ячейку как строку? Извините, если это глупые вопросы - плохо знакомы с кодированием.
Sub copy_rows()
Sheets.Add After:=Sheets(1)
Sheets(2).Name = "New"
For Each cell In Sheets(1).Range("B:B")
If cell.Value = "banana" Then
matchRow = cell.Row
Rows(matchRow & ":" & matchRow).Select
Selection.Copy
Sheets("New").Select
ActiveSheet.Rows(matchRow).Select
ActiveSheet.Paste
End If
Next
End Sub
Вот пример листа 1:
apple 1 2 1
banana 1 3 5
carrot 1 1 1
banana 1 2 3
А вот и новый лист:
banana 1 3 5
banana 1 2 3
Кроме того, я не пытался сделать это в своем коде, но было бы хорошо, если бы между строками не было пробела.
Спасибо