Excel - макрос для заполнения данных на основе критериев
вопрос
Я хотел бы заполнить данные с 1 листа на другой лист на основе определенных критериев. Со ссылкой на образец данных, представленных в ссылке ниже:
- Заполните данные в новый лист, который называется «Медленное перемещение», когда столбец H больше 90, а столбец D не равен нулю.
- Заполните данные в новый лист, который называется «Не движется», когда столбец G равен нулю, а столбец D не равен нулю.
Решение
Попробуйте этот макрос:
Вставьте два листа «Медленное движение» и «Без движения». Запустите этот макрос (в макросе имя листа должно быть точно таким же, как и имена листа):
Sub test () Dim j As Long, k As Long отменить рабочие листы ("6200_Data"). Активировать k = Range ("a6"). End (xlDown) .Row Для j = 1 To k Если клетки (j, "H" )> 90 And Cells (j, "D") 0 Затем Cells (j, "A"). CompleteRow.Copy _ Worksheets ("Slow Moving"). Cells (Rows.Count, "A"). End (xlUp) .Offset (1, 0) If Cells (j, "G") = 0 и Cells (j, "D") 0 Тогда Cells (j, "A"). CompleteRow.Copy _ Worksheets ("Non Moving"). Ячейки (Rows.Count, "A"). End (xlUp) .Offset (1, 0) Следующие j Рабочие листы ("Медленное перемещение"). UsedRange.Columns.AutoFit End Sub Sub undo () Рабочие листы ("медленное перемещение") .Cells.Clear Worksheets («Неподвижно»). Cells.Clear End Sub
Спасибо Venkat1926 за этот совет.