Excel VBA, lai kopētu rindas uz citu darblapu, pamatojoties uz kritērijiem

  • Dalīties Ar Šo
Hugh West

Dati par to, kā tikt galā ar problēmu , pamatojoties uz kritērijiem, no vienas lapas uz citu ir viens no bieži veicamajiem uzdevumiem programmā Excel. Ja jums ir daudz rindu un vēlaties tās kopēt citā lapā, pamatojoties uz dažiem kritērijiem, tas var būt diezgan nogurdinoši un laikietilpīgi. Bet ar Microsoft Visual Basic lietojumprogramma (VBA) varat izveidot makrouzdevumus, ar kuriem varat viegli kopēt datus no vienas lapas uz citu, pamatojoties uz dažādiem kritērijiem. Šajā rakstā es jums parādīšu, kā kā kopēt rindas uz citu darblapu, pamatojoties uz 2 dažādu veidu kritērijiem, izmantojot Excel VBA. .

Pieņemsim, ka darblapā ar nosaukumu " Dati ", kurā ir norādīti dažādu pārdevēju pārdošanas apjomi un pārdošanas platības. Tagad jūs vēlaties kopēt konkrētas rindas, pamatojoties uz dažiem kritērijiem citā lapā.

Lejupielādēt Practice Workbook

Rindiņu kopēšana uz citu darblapu, pamatojoties uz Criteria.xlsm

2 veidi, kā kopēt rindas uz citu darblapu, pamatojoties uz kritērijiem, izmantojot Excel VBA

1. Kopēt rindas uz citu darblapu, pamatojoties uz teksta kritērijiem

Šajā demonstrējumā parādīšu, kā kopēt rindas no vienas darblapas uz citu, pamatojoties uz teksta kritērijiem. Pieņemsim, ka vēlaties kopēt datus par pārdevējiem, kuri pārdod Virginia darblapā ar nosaukumu Platībpārdošana izmantojot Excel VBA . Lai to izdarītu, vispirms,

➤ Prese ALT+F11 lai atvērtu VBA logs.

In the VBA logs,

➤ Noklikšķiniet uz Ievietot cilni un izvēlieties Modulis .

Tas atvērs Modulis(Kods) logs. Tagad,

➤ Ievietojiet šādu kodu Modulis(Kods) logs,

 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 Beigu daļa 

Kods izveidos makroreaktoru ar nosaukumu Copy_Criteria_Text kas meklēs Virginia kolonnā C no pašreizējās darblapas un atdod rindas, kurās ir Virginia darblapā ar nosaukumu Platībpārdošana (3. lapa).

Pēc tam,

➤ Aizveriet vai minimizējiet VBA logs.

➤ Prese ALT+F8

Tas atvērs Makro logs.

➤ Izvēlieties Copy_Criteria_Text in the Makro nosaukums un noklikšķiniet uz Palaist .

Rezultātā rindas ar Virginia tiks kopētas darblapā ar nosaukumu Platībpārdošana

Lasīt vairāk: Kā automātiski kopēt rindas programmā Excel uz citu lapu (4 metodes)

2. Kopēt rindas uz citu darblapu, pamatojoties uz skaita kritērijiem

Tagad es jums parādīšu, kā jūs varat kopēt rindas no vienas darblapas uz citu darblapu, pamatojoties uz skaitļu kritērijiem. Pieņemsim, ka jūs vēlaties kopēt datus par pārdošanas apjomu, kas ir lielāks par 100000 USD, uz darblapu ar nosaukumu Augstākā līmeņa pārdošanas apjomi . Lai to izdarītu, vispirms,

➤ Prese ALT+F11 lai atvērtu VBA logs.

In the VBA logs,

➤ Noklikšķiniet uz Ievietot cilni un izvēlieties Modulis .

Tas atvērs Modulis(Kods) logs. Tagad,

➤ Ievietojiet šādu kodu Modulis(Kods) logs,

 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 

Kods izveidos makroreaktoru ar nosaukumu Copy_Criteria_Number kas kolonnā meklēs vērtības, kas lielākas par 100000. D darblapas ar nosaukumu Dati un atgriezt rindas, kurās ir pārdošanas vērtības, kas lielākas par $100000 darblapā ar nosaukumu Augstākā līmeņa pārdošanas apjomi (4. lapa).

Pēc tam,

➤ Aizveriet vai minimizējiet VBA logs.

➤ Prese ALT+F8

Tas atvērs Makro logs.

➤ Izvēlieties Copy_Criteria_Number in the Makro nosaukums un noklikšķiniet uz Palaist .

Rezultātā rindas, kurās pārdošanas vērtības ir lielākas par 100 000 $, tiks kopētas uz. Augstākā līmeņa pārdošanas apjomi darba lapa.

Lasīt vairāk: Kā kopēt vairākas rindas programmā Excel, izmantojot makro (4 piemēri)

Secinājums

Izmantojot abas šī raksta metodes, jūs varēsiet kopēt rindas no vienas darblapas uz citu darblapu, pamatojoties uz dažādiem kritērijiem, izmantojot Excel VBA. Jūs varat izmantot pirmo metodi teksta kritērijiem un otro metodi skaitļu kritērijiem. Ja jums ir neskaidrības par kādu no metodēm, lūdzu, nekautrējieties atstāt komentāru.

Hjū Vests ir ļoti pieredzējis Excel treneris un analītiķis ar vairāk nekā 10 gadu pieredzi šajā nozarē. Viņam ir bakalaura grāds grāmatvedībā un finansēs un maģistra grāds uzņēmējdarbības vadībā. Hjū aizraujas ar mācīšanu, un viņš ir izstrādājis unikālu mācīšanas pieeju, kas ir viegli izpildāma un saprotama. Viņa ekspertu zināšanas programmā Excel ir palīdzējušas tūkstošiem studentu un profesionāļu visā pasaulē uzlabot savas prasmes un izcelties karjerā. Izmantojot savu emuāru, Hjū dalās savās zināšanās ar pasauli, piedāvājot bezmaksas Excel apmācības un tiešsaistes apmācību, lai palīdzētu personām un uzņēmumiem pilnībā izmantot savu potenciālu.