Excel - Макрос за попълване на данни въз основа на критерии
Проблем
Бих искал да попълня данни от 1 лист на друг лист, въз основа на определени критерии. Във връзка с примерните данни, предоставени в следната връзка:
- Попълнете данните в нов лист, наречен "Бавно преместване", когато колона H е повече от 90 и колона D не е равна на нула.
- Попълнете данните в нов лист, наречен "Non Moving", когато колона G е нула и колона D не е равна на нула.
Решение
Опитайте този макрос:
Поставете двата листа "Бавно движение" и "Non Movingt". Стартирайте този макрос (в макроса името на работните листове трябва да бъде точно като имената на листа):
Sub test () Dim j Както Long, k As Long undo Worksheets ("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) Ако Cells (j, "G") = 0 и Cells (j, "D") 0 Тогава клетки (j, "A"). EntireRow.Copy _ Worksheets ("Non Moving"). Клетки (Rows.Count, "A") Край (xlUp) .Offset (1, 0) Следващ j Работни листове ("Бавно преместване"). .Cells.Clear Работни листове ("Non Moving"). Cells.Clear End Sub
Благодарение на Venkat1926 за този съвет.