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ę.

Poprzedni Artykuł Następny Artykuł

Najważniejsze Wskazówki