Kopírování řádků aplikace Excel VBA do jiného pracovního listu na základě kritérií

  • Sdílet Toto
Hugh West

Údaje o zvládání , na základě kritérií, z jednoho listu na druhý je jednou z často prováděných úloh v Excelu. Pokud máte hodně řádků a chcete je zkopírovat na jiný list na základě nějakých kritérií, může to být poměrně únavné a časově náročné. Ale s Microsoftem Aplikace Visual Basic (VBA) můžete vytvářet makra, pomocí kterých můžete snadno kopírovat data z jednoho listu do druhého na základě různých kritérií. V tomto článku vám ukážu. jak můžete kopírovat řádky do jiného pracovního listu na základě 2 různých typů kritérií pomocí Excel VBA. .

Řekněme, že máte následující soubor dat v pracovním listu s názvem " Data ", kde jsou uvedeny prodeje a prodejní oblasti různých prodejců. Nyní chcete zkopírovat konkrétní řádky na základě určitých kritérií v jiném listu.

Stáhnout cvičebnici

Kopírování řádků do jiného listu na základě kritérií.xlsm

2 způsoby kopírování řádků do jiného pracovního listu na základě kritérií pomocí aplikace Excel VBA

1. Kopírování řádků do jiného pracovního listu na základě textových kritérií

V této ukázce vám ukážu, jak kopírovat řádky z jednoho listu do druhého na základě textových kritérií. Předpokládejme, že chcete zkopírovat údaje o prodejcích, kteří prodávají ve Virginia v pracovním listu s názvem Oblast prodeje pomocí aplikace Excel VBA . Nejdříve to udělejte,

➤ Tisk ALT+F11 otevřít VBA okno.

V VBA okno,

➤ Klikněte na Vložte a vyberte možnost Modul .

Otevře se Modul(Kód) okno. Nyní,

➤ Vložte následující kód do pole Modul(Kód) okno,

 Sub Copy_Criteria_Text() Application.ScreenUpdating = False With ActiveSheet .AutoFilterMode = False With Range("C1", Range("C" & Rows.Count).End(xlUp)) .AutoFilter 1, "Virginia" On Error Resume Next .Offset(1).EntireRow.Copy Sheet3.Range("A" & Rows.Count).End(xlUp).Offset(1) End With .AutoFilterMode = False End With Application.ScreenUpdating = TrueList3.Select Konec Sub 

Kód vytvoří makro s názvem Copy_Criteria_Text který vyhledá Virginii ve sloupci C aktuálního listu a vrátí řádky, které obsahují Virginii v listu s názvem Oblast prodeje (List3).

Poté,

➤ Zavřít nebo minimalizovat obrazovku VBA okno.

➤ Tisk ALT+F8

Otevře se Makro okno.

➤ Vyberte Copy_Criteria_Text v Název makra a klikněte na Spustit .

Výsledkem je, že řádky s Virginií budou zkopírovány do pracovního listu s názvem Oblast prodeje

Další informace: Automatické kopírování řádků v aplikaci Excel do jiného listu (4 metody)

2. Kopírování řádků do jiného pracovního listu na základě číselných kritérií

Nyní vám ukážu, jak můžete kopírovat řádky z jednoho listu do jiného listu na základě číselných kritérií. Předpokládejme, že chcete zkopírovat údaje o tržbách, které jsou větší než 100 000 USD, do listu s názvem Nejvyšší prodej . Nejdříve to udělejte,

➤ Tisk ALT+F11 otevřít VBA okno.

V VBA okno,

➤ Klikněte na Vložte a vyberte možnost Modul .

Otevře se Modul(Kód) okno. Nyní,

➤ Vložte následující kód do pole Modul(Kód) okno,

 Sub Copy_Criteria_Number() Application.ScreenUpdating = False With ActiveSheet .AutoFilterMode = False With Range("D1", Range("D" & Rows.Count).End(xlUp)) .AutoFilter 1, ">100000" On Error Resume Next .Offset(1).EntireRow.Copy Sheet4.Range("A" & Rows.Count).End(xlUp).Offset(1) End With .AutoFilterMode = False End With Application.ScreenUpdating =True Sheet4.Select End Sub 

Kód vytvoří makro s názvem Copy_Criteria_Number který bude hledat hodnoty větší než 100000 ve sloupci D pracovního listu s názvem Data a vrátit řádky, které obsahují hodnoty prodeje vyšší než 100 000 USD v pracovním listu s názvem Nejvyšší prodej (List4).

Poté,

➤ Zavřít nebo minimalizovat obrazovku VBA okno.

➤ Tisk ALT+F8

Otevře se Makro okno.

➤ Vyberte Copy_Criteria_Number v Název makra a klikněte na Spustit .

Výsledkem je, že řádky, které obsahují prodejní hodnoty vyšší než 100 000 USD, budou zkopírovány do pole. Nejvyšší prodej pracovní list.

Další informace: Jak zkopírovat více řádků v aplikaci Excel pomocí makra (4 příklady)

Závěr

Pomocí dvou metod uvedených v tomto článku budete moci kopírovat řádky z jednoho listu do jiného listu na základě různých kritérií pomocí nástroje Excel VBA. První metodu můžete použít pro textová kritéria a druhou metodu pro číselná kritéria. Pokud máte jakýkoli typ nejasností ohledně některé z metod, neváhejte zanechat komentář.

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.