Excel - Makro do wypełnienia danych na podstawie kryteriów
Kwestia
Chciałbym wypełnić dane z jednego arkusza na inny arkusz w oparciu o pewne kryteria. W odniesieniu do przykładowych danych podanych w linku poniżej:
- Wypełnij dane do nowego arkusza o nazwie „Slow Moving”, gdy kolumna H jest większa niż 90, a kolumna D nie jest równa zero.
- Wypełnij dane do nowego arkusza o nazwie „Non Moving”, gdy kolumna G ma wartość zero, a kolumna D nie jest równa zero.
Rozwiązanie
Wypróbuj to makro:
Włóż dwa arkusze „Slow moving” i „Non Movingt”. Uruchom to makro (w makrze nazwa arkusza powinna być dokładnie taka sama jak nazwa arkusza):
Sub test () Dim j As Long, k Jak Long undo Worksheets („6200_Data”). Aktywuj k = Range („a6”). End (xlDown) .Row Dla j = 1 To k Jeśli komórki (j, „H” )> 90 And Cells (j, „D”) 0 Then Cells (j, „A”). EntireRow.Copy _ Worksheets („Slow Moving”). Komórki (Rows.Count, „A”). End (xlUp) .Offset (1, 0) If Cells (j, "G") = 0 I Cells (j, "D") 0 Then Cells (j, "A"). EntireRow.Copy _ Worksheets ("Non Moving"). Komórki (Rows.Count, „A”). End (xlUp) .Offset (1, 0) Następny j Arkusze („Slow Moving”). UsedRange.Columns.AutoFit End Sub Sub undo () Arkusze („slow Moving”) .Cells.Clear Worksheets („Non Moving”). Cells.Clear End Sub
Podziękowania dla Venkat1926 za tę wskazówkę.