Перенести данные из одного листа Excel в другой по определенному условию можно с помощью формулы или макроса. Вот пример, как это сделать с помощью формулы и функции "Фильтр":
С помощью формулы:
- Предположим, у вас есть данные в листе "Sheet1" в диапазоне A1:B10, и вы хотите перенести строки, где значение в столбце A равно "Условие", в лист "Sheet2".
- В ячейке A1 на листе "Sheet2" введите следующую формулу:
excel
=Фильтр(Sheet1!A1:B10, Sheet1!A1:A10="Условие")
С помощью VBA макроса:
- Откройте Excel и нажмите Alt + F11 для открытия редактора VBA.
- Вставьте новый модуль (Insert > Module).
- Вставьте следующий код в модуль:
vba
Sub ПереносДанных()
Dim wsSource As Worksheet
Dim wsTarget As Worksheet
Dim i As Long, j As Long
Set wsSource = ThisWorkbook.Sheets("Sheet1")
Set wsTarget = ThisWorkbook.Sheets("Sheet2")
j = 1 ' Стартовая строка на целевом листе
For i = 1 To wsSource.Cells(wsSource.Rows.Count, 1).End(xlUp).Row
If wsSource.Cells(i, 1).Value = "Условие" Then
wsTarget.Cells(j, 1).Value = wsSource.Cells(i, 1).Value
wsTarget.Cells(j, 2).Value = wsSource.Cells(i, 2).Value
j = j + 1
End If
Next i
End Sub
- Закройте редактор VBA и вернитесь в Excel.
- Запустите макрос, нажав Alt + F8, выберите "ПереносДанных" и нажмите "Выполнить".