Excel - макрос для заповнення даних на основі критеріїв

Проблема

Я хотів би заповнити дані з 1 аркуша на інший аркуш на основі певних критеріїв. З посиланням на зразки даних, наведених нижче за посиланням:

  • Заповнюйте дані новим аркушем під назвою "Повільне переміщення", коли стовпець H більше 90, а стовпець D не дорівнює нулю.
  • Заповнюйте дані в новий аркуш під назвою "Непереміщення", коли стовпець G дорівнює нулю, а стовпець D не дорівнює нулю.

Рішення

Спробуйте цей макрос:

Вставте два аркуші "Slow moving" і "Non Movingt". Запустіть цей макрос (у макросі ім'я листа повинно бути точно таким, як імена листів):

 Sub test () Dim j Як довго, k Довгі аркуші undo ("6200_Data") Активуйте k = Діапазон ("a6"). End (xlDown) .Row Для j = 1 До k Якщо осередки (j, "H") )> 90 І осередки (j, "D") 0 Потім клітинки (j, "A"). EntireRow.Copy _ Worksheets ("Slow Moving"). Клітинки (Rows.Count, "A"). End (xlUp) .Offset (1, 0) Якщо осередки (j, "G") = 0 і осередки (j, "D") 0 Тоді клітинки (j, "A"). EntireRow.Copy _ Worksheets ("Non Moving"). Клітинки (Rows.Count, "A") End (xlUp) .Offset (1, 0) Наступний j Робочі аркуші ("Slow Moving"). .Cells.Clear Worksheets ("Непереміщення"). Cells.Clear End Sub 

Завдяки Venkat1926 для цього чайові.

Попередня Стаття Наступна Стаття

Кращі Поради