Excel - Makro k naplnění dat na základě kritérií
Problém
Chtěl bych na základě určitých kritérií zaplnit data z jednoho listu do jiného listu. S odkazem na ukázková data uvedená na níže uvedeném odkazu:
- Naplnění dat do nového listu nazvaného "Slow Moving", když sloupec H je více než 90 a sloupec D se nerovná nule.
- Pokud je sloupec G nula a sloupec D není roven nule, vyplňte data do nového listu nazvaného "Non Moving".
Řešení
Zkuste toto makro:
Vložte dva listy "Slow moving" a "Non Movingt". Spustit toto makro (v makru by název listu měl být přesně jako názvy listů):
Sub test () Dim j As Long, k As Long undo Worksheets ("6200_Data") Aktivace k = Range ("a6") Konec (xlDown) .Row Pro j = 1 Do k Pokud buňky (j, "H") )> 90 A buňky (j, "D") 0 Pak buňky (j, "A") EntireRow.Copy _ Pracovní listy ("Slow Moving") Cells (Rows.Count, "A") Konec (xlUp) .Offset (1, 0) Pokud buňky (j, "G") = 0 A buňky (j, "D") 0 Pak buňky (j, "A") EntireRow.Copy _ Pracovní listy ("Non Moving"). Buňky (Rows.Count, "A"). Konec (xlUp) .Offset (1, 0) Další j Pracovní listy ("Slow Moving"). UsedRange.Columns.AutoFit End Sub Sub undo () Listy ("slow Moving") .Cells.Clear Worksheets ("Non Moving") Cells.Clear End Sub
Děkujeme Venkat1926 za tento tip.