извините, если это было задано здесь много раз. Я новичок в VBA Excel, поэтому у меня есть только краткое представление о том, как начать код. Я использую Эксель 2013.
У меня есть 2 разные книги, основная и копия. Строки с 1 по 4 будут пустыми. Строка 5 предназначена для заголовка/маркировки информации, которую она будет предоставлять для обеих книг.
«Основная» рабочая книга будет использовать столбцы от A до DN для хранения всех данных.
Если ячейка содержит "X" - она скопирует столбец A в P, в книгу "копировать". После чего он перейдет к следующей строке, чтобы определить то же самое. Если ячейка пуста, она перейдет к следующей строке, чтобы определить то же самое. Код должен быть динамическим, так как каждые 3 месяца будет добавляться новая информация, например добавление новых строк или изменение критериев с «X» на «пусто» или «пусто» на «X».
Это код, который у меня есть на данный момент. Это работает, но поскольку нужно проверить так много столбцов, мне посоветовали сделать для этого другой код.
Sub copy()
Dim lr As Long, lr2 As Long, r As Long
lr = Sheets("main").Cells(Rows.Count, "A").End(xlUp).row
lr2 = Sheets("copy").Cells(Rows.Count, "A").End(xlUp).row
For r = lr To 2 Step -1
If range("Q" & r).Value = "X" Then
Rows(r).copy Destination:=Sheets("copy").range("A" & lr2 + 1)
lr2 = Sheets("copy").Cells(Rows.Count, "A").End(xlUp).row
End If
Next r
End Sub