Я ищу код для копирования строк из нескольких листов в один комбинированный лист на основе клеточного клапана.Код Excel VBA для копирования строк из нескольких листов в один лист на основе значения ячейки
Подробности: У меня есть несколько номеров проектов, которые являются вкладками (2016-010-082, 2016-010-086, 2016-060-015 ... и т. Д.). В столбце E на каждом из этих листов у меня есть раскрывающийся список, в котором вы можете выбрать «да» или «нет» на основании того, завершена ли эта задача или нет. Я бы хотел, чтобы все задачи, которые «нет», будут скопированы в один лист, чтобы я мог видеть все задачи для всех проектов, которые еще не были выполнены.
Когда «нет» изменено на «да» на вкладке конкретного проекта, я бы хотел, чтобы строка также удалялась из скомпилированного листа.
Я бы также хотел, чтобы ячейки D2 и D3 отображались в строках A и B скомпилированного листа, так как это стандартная информация для каждой вкладки, которую мне нужно будет видеть на скомпилированном листе, чтобы я знал, какой номер проекта это is и название проекта.
Образец изображения прилагается.
спасибо!
Это то, что я думал, что будет работать на одном листе ... как только я получил эту простую один работает должным образом, я полагал, что я мог бы отформатировать его для нескольких листов ...
Sub Test()
For Each Cell In Sheets(1).Range("E:E")
If Cell.Value = "NO" Then
matchRow = Cell.Row
Rows(matchRow & ":" & matchRow).Select
Selection.Copy
Sheets("Sheet2").Select
ActiveSheet.Rows(matchRow).Select
ActiveSheet.Paste
Sheets("Sheet1").Select
End If
Next
End Sub
Привет, вы можете показать, какую работу вы сделали до сих пор, чтобы достичь этого? Это сайт поддержки, а не сайт разработки. –
это то, что, как я думал, будет работать на одном листе ... как только я получил эту работу простой, работая должным образом, я решил, что могу отформатировать ее для нескольких листов ... Sub Test() Для каждой ячейки в листе (1) .Range ("Е: Е") Если Cell.Value = "нет", то matchRow = Cell.Row Ряды (matchRow & ":" & matchRow). .Select Selection.Copy Листы ("Лист2") Выбрать ActiveSheet.Rows (matchRow) .Select ActiveSheet.Paste Sheets ("Лист1"). Выберите End If Next End Sub – user6499985