"Excel VBA" eilučių kopijavimas į kitą darbalapį pagal kriterijus

  • Pasidalinti
Hugh West

Duomenys apie susidorojimą , remiantis kriterijais, iš vieno lapo į kitą yra viena iš dažnai atliekamų užduočių "Excel" programoje. Jei turite daug eilučių ir norite jas nukopijuoti į kitą lapą, remdamiesi tam tikrais kriterijais, tai gali būti gana varginantis ir daug laiko reikalaujantis darbas. Tačiau su "Microsoft "Visual Basic" programa (VBA) galite kurti makrokomandas, kuriomis galite lengvai kopijuoti duomenis iš vieno lapo į kitą pagal skirtingus kriterijus. Šiame straipsnyje parodysiu, kaip kaip galite kopijuoti eilutes į kitą darbalapį pagal 2 skirtingus kriterijus naudojant "Excel VBA". .

Tarkime, darbalapyje, pavadintame " Duomenys ", kuriame pateikti skirtingų pardavėjų pardavimai ir pardavimo sritys. Dabar norite nukopijuoti tam tikras eilutes pagal tam tikrus kriterijus kitame lape.

Atsisiųsti praktikos sąsiuvinį

Eilučių kopijavimas į kitą darbalapį pagal kriterijus.xlsm

2 būdai kopijuoti eilutes į kitą darbalapį pagal kriterijus naudojant "Excel VBA

1. Eilučių kopijavimas į kitą darbalapį pagal teksto kriterijus

Šioje demonstracijoje parodysiu, kaip kopijuoti eilutes iš vienos darbalapio į kitą pagal teksto kriterijus. Tarkime, norite nukopijuoti duomenis apie pardavėjus, kurie parduoda Virdžinija darbalapyje, pavadintame Pardavimų sritis naudojant "Excel VBA . Norėdami tai padaryti, pirmiausia,

➤ Spauda ALT+F11 atidaryti VBA langas.

Į VBA langas,

➤ Spustelėkite Įdėkite skirtuką ir pasirinkite Modulis .

Jis atidarys Modulis (kodas) langas. Dabar,

➤ Įterpkite šį kodą į Modulis (kodas) langas,

 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 = TrueSheet3.Select End Sub 

Kodas sukurs makrokomandą, pavadintą Copy_Criteria_Text kuris ieškos Virdžinijos stulpelyje C esamo darbalapio ir grąžinti eilutes, kuriose yra "Virginia", esančias darbalapyje, pavadintame Pardavimų sritis (3 lapas).

Po to,

➤ Uždarykite arba sumažinkite VBA langas.

➤ Spauda ALT+F8

Jis atidarys Makro langas.

➤ Pasirinkite Copy_Criteria_Text į Makro pavadinimas langelį ir spustelėkite Paleisti .

Dėl to eilutės su Virdžinija bus nukopijuotos į darbalapį, pavadintą Pardavimų sritis

Skaityti daugiau: Kaip automatiškai kopijuoti "Excel" eilutes į kitą lapą (4 metodai)

2. Nukopijuokite eilutes į kitą darbalapį pagal skaičiaus kriterijus

Dabar parodysiu, kaip galite kopijuoti eilutes iš vienos darbalapio į kitą darbalapį pagal skaičių kriterijus. Tarkime, norite nukopijuoti duomenis apie pardavimus, kurie yra didesni nei 100 000 USD, į darbalapį, pavadintą Geriausi pardavimai . Norėdami tai padaryti, pirmiausia,

➤ Spauda ALT+F11 atidaryti VBA langas.

Į VBA langas,

➤ Spustelėkite Įdėkite skirtuką ir pasirinkite Modulis .

Jis atidarys Modulis (kodas) langas. Dabar,

➤ Įterpkite šį kodą į Modulis (kodas) langas,

 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 

Kodas sukurs makrokomandą, pavadintą Copy_Criteria_Number stulpelyje bus ieškoma didesnių nei 100000 reikšmių. D darbalapio pavadinimu Duomenys ir grąžinti eilutes, kuriose pardavimų vertės yra didesnės nei $100000, į darbalapį, pavadintą Geriausi pardavimai (4 lapas).

Po to,

➤ Uždarykite arba sumažinkite VBA langas.

➤ Spauda ALT+F8

Jis atidarys Makro langas.

➤ Pasirinkite Copy_Criteria_Number į Makro pavadinimas langelį ir spustelėkite Paleisti .

Dėl to eilutės, kuriose pardavimo vertės yra didesnės nei 100 000 USD, bus nukopijuotos į Geriausi pardavimai darbalapį.

Skaitykite daugiau: Kaip nukopijuoti kelias "Excel" eilutes naudojant makrokomandą (4 pavyzdžiai)

Išvada

Naudodami du šiame straipsnyje nurodytus metodus galėsite kopijuoti eilutes iš vieno darbalapio į kitą darbalapį pagal skirtingus kriterijus naudodami "Excel VBA". Pirmąjį metodą galite naudoti teksto kriterijams, o antrąjį - skaičių kriterijams. Jei kyla neaiškumų dėl kurio nors iš metodų, nedvejodami palikite komentarą.

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.