Excel - Ein Makro zum Auffüllen von Daten anhand von Kriterien
Problem
Ich möchte Daten von einem Blatt auf ein anderes Blatt basierend auf bestimmten Kriterien übertragen. Mit Bezug auf die Beispieldaten, die im folgenden Link bereitgestellt werden:
- Füllen Sie Daten in ein neues Blatt mit dem Namen "Slow Moving", wenn Spalte H größer als 90 und Spalte D ungleich Null ist.
- Füllen Sie Daten in ein neues Blatt mit dem Namen "Nicht beweglich", wenn Spalte G Null und Spalte D ungleich Null ist.
Lösung
Versuchen Sie dieses Makro:
Legen Sie die beiden Blätter "Slow moving" und "Non Movingt" ein. Führen Sie dieses Makro aus (im Makro sollte der Name des Arbeitsblatts genau dem Namen des Arbeitsblatts entsprechen):
Untertest () Dim j So lange, k So lange mache Arbeitsblätter rückgängig ("6200_Data"). Aktiviere k = Bereich ("a6"). Ende (xlDown). Zeile für j = 1 bis k Wenn Zellen (j, "H" )> 90 Und Zellen (j, "D") 0 Dann Zellen (j, "A"). EntireRow.Copy _ Arbeitsblätter ("Slow Moving"). Zellen (Rows.Count, "A"). Ende (xlUp) .Offset (1, 0) Wenn Zellen (j, "G") = 0 und Zellen (j, "D") 0, dann Zellen (j, "A"). EntireRow.Copy _ Worksheets ("Non Moving"). Cells (Rows.Count, "A"). End (xlUp) .Offset (1, 0) Next j Arbeitsblätter ("Slow Moving"). UsedRange.Columns.AutoFit End Sub Undo () Arbeitsblätter ("Slow Moving") .Cells.Clear Worksheets ("Non Moving") .Cells.Clear End Sub
Danke an Venkat1926 für diesen Tipp.