Excel VBA for å kopiere rader til et annet regneark basert på kriterier

  • Dele Denne
Hugh West

Håndtering av data , basert på kriterier, fra ett ark til et annet er en av de ofte utførte oppgavene i Excel. Hvis du har mange rader og ønsker å kopiere dem til et annet ark basert på noen kriterier, kan det være ganske slitsomt og tidkrevende. Men med Microsoft Visual Basic Application (VBA) kan du lage makroer som du enkelt kan kopiere data fra ett ark til et annet basert på forskjellige kriterier. I denne artikkelen skal jeg vise deg hvordan du kan kopiere rader til et annet regneark basert på 2 forskjellige typer kriterier ved å bruke Excel VBA .

La oss si, du har følgende datasett i et regneark kalt « Data » hvor salgs- og salgsområder til forskjellige selgere er oppgitt. Nå vil du kopiere spesifikke rader basert på noen kriterier i et annet ark.

Last ned øvelsesarbeidsbok

Kopier rader til et annet Regneark basert på Criteria.xlsm

2 måter å kopiere rader til et annet regneark basert på kriterier fra Excel VBA

1. Kopier rader til et annet regneark basert på tekstkriterier

I denne demonstrasjonen skal jeg vise deg hvordan du kopierer rader fra ett regneark til et annet basert på tekstkriterier. Anta at du vil kopiere dataene til selgerne som selger i Virginia i et regneark kalt Area Sales ved å bruke Excel VBA . For å gjøre det,

➤ Trykk ALT+F11 for å åpne VBA -vinduet.

I VBA vindu,

➤ Klikk på Sett inn -fanen og velg Modul .

Det vil åpne vinduet Module(Kode) . Nå,

➤ Sett inn følgende kode i Module(Code) vinduet,

2759

Koden vil lage en makro kalt Copy_Criteria_Text som vil søk etter Virginia i kolonne C i gjeldende regneark og returner radene som inneholder Virginia i regnearket kalt Area Sales (Sheet3).

Etter det,

➤ Lukk eller minimer VBA vinduet.

➤ Trykk ALT+F8

Det vil åpne vinduet Makro .

➤ Velg Kopier_Kriterier_Tekst i boksen Makronavn og klikk på Kjør .

Som et resultat vil radene med Virginia bli kopiert i regnearket med navnet Area Sales

Les mer: Slik kopierer du rader automatisk i Excel til et annet ark (4 metoder)

2. Kopier rader til et annet regneark basert på tallkriterier

Nå , skal jeg vise deg hvordan du kan kopiere rader fra ett regneark til et annet regneark basert på tallkriterier. Anta at du vil kopiere dataene for salget som er større enn $100 000 til et regneark kalt Toppsalg . For å gjøre det,

➤ Trykk ALT+F11 for å åpne VBA -vinduet.

I VBA vindu,

➤ Klikk på Sett inn -fanen og velg Modul .

Det åpner Modul (kode) vinduet. Nå,

➤ Sett inn følgende kode i Module(Code) vinduet,

5273

Koden vil lage en makro kalt Copy_Criteria_Number som vil søk etter verdier større enn 100 000 i kolonne D i regnearket kalt Data og returner radene som inneholder salgsverdier over $100 000 i regnearket kalt Toppsalg ( Ark4).

Deretter

➤ Lukk eller minimer VBA vinduet.

➤ Trykk på ALT+F8

Det vil åpne vinduet Makro .

➤ Velg Kopier_Kriterium_Nummer i Makronavn og klikk på Kjør .

Som et resultat vil radene som inneholder salgsverdier på mer enn $100 000 kopieres til Toppsalg arbeidsark.

Les mer: Hvordan kopiere flere rader i Excel med makro (4 eksempler)

Konklusjon

Med de to metodene i denne artikkelen vil du kunne kopiere rader fra ett regneark til et annet regneark basert på forskjellige kriterier ved å bruke Excel VBA. Du kan bruke den første metoden for tekstkriterier og den andre metoden for tallkriterier. Hvis du har noen form for forvirring om noen av metodene, kan du gjerne legge igjen en kommentar.

Hugh West er en svært erfaren Excel-trener og analytiker med over 10 års erfaring i bransjen. Han har en bachelorgrad i regnskap og finans og en mastergrad i bedriftsøkonomi. Hugh har en lidenskap for undervisning og har utviklet en unik undervisningstilnærming som er enkel å følge og forstå. Hans ekspertkunnskap om Excel har hjulpet tusenvis av studenter og fagfolk over hele verden med å forbedre sine ferdigheter og utmerke seg i karrieren. Gjennom bloggen sin deler Hugh sin kunnskap med verden, og tilbyr gratis Excel-opplæringer og nettbasert opplæring for å hjelpe enkeltpersoner og bedrifter å nå sitt fulle potensial.