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 за этот совет.

Предыдущая статья Следующая статья

Лучшие советы