VBA for å gå gjennom rader med tabeller i Excel (11 metoder)

  • Dele Denne
Hugh West

Når vi har et stort datasett i Excel-arbeidsboken vår, er det noen ganger praktisk hvis vi kan gå gjennom rader for å trekke ut de spesifikke resultatene vi ønsker å få. Implementering av VBA er den mest effektive, raskeste og sikreste metoden for å kjøre enhver operasjon i Excel. I denne artikkelen vil vi vise deg 11 forskjellige metoder for hvordan du løkker gjennom rader i en tabell i Excel med VBA-makroen .

Last ned arbeidsbok

Du kan laste ned den gratis Excel-arbeidsboken herfra.

Søk gjennom tabellrader med VBA.xlsm

11 metoder med VBA for å gå gjennom rader med tabeller i Excel

I denne delen vil du lære hvordan du løkker gjennom rader i en tabell med 11 forskjellige metoder, for eksempel sløyfe gjennom rader til en tom celle, sløyfe gjennom rader til en bestemt verdi er funnet, sløyfe gjennom rader og fargelegge en spesifikk celle osv. med VBA -makro i Excel.

Over er eksempeldatasettet som denne artikkelen vil følge for å beskrive metodene.

1. Bygg inn VBA for å gå gjennom hver celle i hver rad i en tabell etter cellereferansenummer

Hvis du vil sløyfe gjennom hver celle i hver rad i en tabell i Excel-regnearket og få cellereferansenummeret som returverdi , følg deretter trinnene som er diskutert nedenfor.

Trinn:

  • I begynnelsen , trykk Alt + F11 på tastaturet eller gåvariabel.
8345

Denne kodebiten er her for å gå gjennom rader fra 1 til 15. Hvis den finner det spesifikke ordet « Edge », farger den cellen som inneholder ordet. Den fortsetter å gjøre dette til den er ferdig med å skanne gjennom alle dataene fra rad 1 til 15 i søk etter ordet.

Les mer: Hvordan bruke VLOOKUP Table Array Basert på Celleverdi i Excel

Lignende avlesninger

  • Eksisterer TABELL-funksjon i Excel?
  • Hvordan konvertere tabell til liste i Excel (3 raske måter)
  • Konverter område til tabell i Excel (5 enkle metoder)
  • Bruk formel i en Excel-tabell effektivt (med 4 eksempler)
  • Excel-tabellnavn: Alt du trenger å vite

7. Implementer VBA for å gå gjennom hver rad og fargelegge hver odde rad i Excel

Fra forrige seksjon har vi lært hvordan man fargelegger en celle som har en bestemt verdi. I denne delen vil vi lære hvordan du løkker gjennom hver rad i en tabell og farger hver odde rad med VBA -makroen i Excel.

Trinn for å utføre prosessen er beskrevet nedenfor.

Trinn:

  • Som vist før, åpne Visual Basic Editor fra Utvikleren tab og Sett inn en modul i kodevinduet.
  • Deretter kopier følgende kode og lim inn den i kodevinduet.
6188

Koden din er nå klar til å kjøre.

  • Nå, Kjør makroen og se på følgende bilde for å se resultatet.

Alle oddetallsradene er farget etter å ha gått gjennom alle radene som ligger i tabellen i regnearket.

VBA-kodeforklaring

9440

Definer variabelen.

6864

Definer området som vi skal jobbe med.

5403

Denne delen av koden refererer til iterasjonen gjennom alle radene, med start fra neste rad i gjeldende rad, B4 . Hvis moden for å dele radtallene med 2 er lik det returnerte radnummeret som er lagret i en heltallstype, farger denne koden alle radene som trekkes ut av beregningen med fargeindeksen gitt i koden. Den fortsetter å bevege seg gjennom alle radene til den når slutten av området.

8. Implementer VBA for å gå gjennom rader og farge alle partallsrader i Excel

I forrige avsnitt har vi lært hvordan du fargelegger hver odde rad i en tabell. I denne delen vil vi lære hvordan du løkker gjennom hver rad i en tabell og fargelegger hver jevn rad med VBA-makro i Excel.

Trinn for å utføre prosessen er diskutert nedenfor.

Trinn:

  • Åpne først Visual Basic Editor fra kategorien Utvikler og Sett inn en Modul i kodevinduet.
  • Deretter kopier følgende kode og lim inn den i kodevinduet.
6943

Koden din er nå klar tilkjør.

  • Deretter Kjør makroen og se på følgende bilde for å se resultatet.

Alle partallsrader er farget etter å ha gått gjennom alle radene som ligger i tabellen i regnearket.

VBA-kodeforklaring

4560

Definer variabelen.

2753

Definer området som vi skal jobbe med.

8093

Denne kodebiten begynner å iterere etter de tre radene fra gjeldende rad, B4 . Den farger den først, øker deretter radantallet med 2 og fortsetter å fargelegge den til den når den siste raden i datasettet.

9. Bruk makro for å iterere gjennom rader til tom celle i Excel

Hvis du vil at koden skal fungere som den vil sløyfe gjennom alle radene i tabellen og stoppe når den når en tom celle , så er denne delen for deg. Du kan utføre den oppgaven både med FOR Loop og Do-Inntil Loop i Excel VBA .

9.1. Med FOR Loop

Trinn for å løkke gjennom rader i en tabell til en tom celle med FOR Loop i VBA Excel er gitt nedenfor.

Trinn:

  • Åpne først Visual Basic Editor fra kategorien Utvikler og Sett inn en Modul i kodevinduet.
  • Deretter kopier følgende kode og lim inn den i kodevinduet.
6753

Koden din er nå klar til å kjøre.

  • Deretter Kjør makro og resultatet vises i gif-en nedenfor.

Etter å ha kjørt makroen, begynte den å gå gjennom alle radene i tabellen og når den nådde den blanke cellen, celle B8 , stoppet den iterasjonen .

VBA-kodeforklaring

9310

Definer variabelen.

5773

Slå av skjermoppdateringshendelsen.

5111

Lagre alle radene fra Celle B4 til den siste.

1772

Velg Celle B4 .

3728

Denne kodebiten begynner å gå gjennom alle radene. Når den finner en tom celle i en rad, velger den den og fortsetter å skanne radene til den når slutten.

2659

Slå på skjermoppdateringshendelsen.

9.2. Med Do-Inntil-løkke

Trinn for å løkke gjennom rader til en tom celle med Do-Until-løkke i VBA er gitt nedenfor.

Trinn:

  • Åpne først Visual Basic Editor fra kategorien Utvikler og Sett inn en Modul i kodevinduet.
  • Deretter kopier følgende kode og lim inn den i kodevinduet.
3494

Koden din er nå klar til å kjøre.

  • Senere Kjør makroen. Resultatet vises i følgende gif.

Etter å ha kjørt makroen begynte den å sløyfe gjennom alle radene i tabellen og én gang den nådde den tomme cellen, celle B8 , den stoppet iterasjonen .

VBA-kodeForklaring

4102

Velg cellen som vi skal jobbe fra.

6692

Starter og fortsetter looping til en tom celle blir funnet.

5648

Når en tom celle er funnet på rad, velg den og stopp iterasjonen.

10. VBA-makro for å iterere gjennom rader til flere tomme celler i Excel

I forrige avsnitt har du lært hvordan du stopper løkken når en tom celle blir funnet. Men hva om du ikke vil stoppe iterasjonen før flere tomme celler er funnet i stedet for bare én.

Trinnene for å sløyfe gjennom rader til flere tomme celler er funnet i en tabell med VBA Excel er vist nedenfor.

Trinn:

  • Åpne først Visual Basic Editor fra Utvikler -fanen og Sett inn en modul i kodevinduet.
  • Deretter kopier følgende kode og lim inn den i kodevinduet.
1177

Koden din er nå klar til å kjøre.

  • Nå, Kjør makroen og se følgende gif for utdata.

Etter å ha kjørt makroen, stoppet den ikke på første tomme celle, celle B8 . Den stoppet da den fant to påfølgende tomme celler på celle B16 .

VBA-kodeforklaring

3281

Velg cellen som vi skal jobbe fra.

8646

Starter og fortsetter løkking til to påfølgende tomme celler blir funnet.

3984

Når to påfølgende tomme celler blir funnet,velg den og stopp iterasjonen.

11. Bygg inn VBA for å gå gjennom rader ved å slå sammen alle kolonner til de er tomme i Excel

Denne delen viser deg hvordan du sløyfer gjennom alle radene i en tabell og setter sammen alle kolonnene til en tom celle er funnet med VBA Excel.

La oss lære hvordan du gjør det med VBA -makroen i Excel.

Trinn:

  • Åpne først Visual Basic Editor fra kategorien Utvikler og Sett inn en modul i kodevinduet.
  • Deretter kopier følgende kode og lim inn den i kodevinduet.
3581

Din kode er nå klar til å kjøre.

  • Senere Kjør makroen og se følgende gif for resultatet.

Som du kan se fra gif-en ovenfor, er det en popup-vindu MsgBox som viser deg den sammenkoblede verdien av alle kolonnene i hver rad fra tabellen i Excel-regnearket. Men den stoppet når den nådde den tomme cellen .

VBA-kodeforklaring

3371

Definer variablene.

2758

Angi arknavnet som vi skal jobbe med (" ConcatenatingAllColUntilBlank " er arknavnet i arbeidsboken).

8568

Definer området som vi skal jobbe med.

5484

Denne kodebiten starter løkken med matrisen. Den fortsetter å sløyfe til den returnerer det største subskriptet til arrayet og den nedre grensen tilførste dimensjon. Deretter går den inn i iterasjonen for å trekke ut den nedre grensen til den andre dimensjonen. Etter det sender den alle de utpakkede verdiene i iResult -variabelen ved å sette dem sammen og kaste resultatet i MsgBox. Den fortsetter å gjøre det til den finner en tom celle.

Konklusjon

For å konkludere viste denne artikkelen deg 11 effektive metoder for hvordan du løkker gjennom rader av en tabell i Excel med VBA-makroen . Jeg håper denne artikkelen har vært veldig nyttig for deg. Still gjerne spørsmål angående emnet.

til fanen Utvikler -> Visual Basicfor å åpne Visual Basic Editor.

  • Deretter, i popup-kodevinduet, fra menylinjen, klikk Sett inn -> Modul .

  • Deretter kopier følgende kode og lim inn i koden vindu.
8032

Koden din er nå klar til å kjøre.

  • Trykk nå F5 på tastatur eller fra menylinjen velg Kjør -> Kjør Sub/UserForm . Du kan også bare klikke på det lille Spill-ikonet i undermenylinjen for å kjøre makroen.

  • Eller for å visuelt vitne og sammenligne datasettet og resultatet, du kan lagre koden og gå tilbake til arbeidsarket av interesse.
  • Derfra kan du klikke Makroer fra Utvikler -fanen, velg makronavnet, og klikk deretter Kjør .

Etter vellykket kodekjøring, se på gif-en ovenfor for å se resultatet. Det vil være et popup-vindu MsgBox som viser deg cellereferansenummeret til hver celle fra hver rad fra tabellen i Excel-arket ditt.

VBA-kodeforklaring

9716

For å få siste radnummer i tabellen ved å søke i kolonne B.

3857

Angi rad nummer 4, hvorfra våre data starter.

7546

For å sløyfe fra den første raden.

4793

Angi kolonne nummer 2, hvorfra dataene våre starter.

8240

Begynn å gå gjennom radene for å få den sistekolonnenummer ved å evaluere gjeldende rad til siste rad.

2678

Inkrementering av kolonnen fra den første raden til den siste raden.

7975

Denne kodebiten fungerer å behandle, øker etter hver iterasjon og vis resultatet av koden.

Les mer: Hvordan legge til ny rad automatisk i en Excel-tabell

2 . Implementer VBA for å gå gjennom hver celle i hver rad etter verdi

Hvis du vil sløyfe gjennom hver celle i hver rad i en tabell og kaste verdien som ligger i cellene som returverdi , så vil denne delen hjelpe deg med å finne ut hvordan du gjør det med VBA Excel.

Du kan gjøre det med ListObject og med DataBodyRange -egenskapen til VBA . Vi vil vise deg makrokoden med både objektet og egenskapen.

2.1. Med ListObject

Trinnene for å løkke gjennom hver celle i hver rad i en tabell etter celleverdi med ListObject i VBA Excel er gitt nedenfor.

Trinn:

  • På samme måte som før, åpne Visual Basic Editor fra Utvikler -fanen og Sett inn en modul i kodevinduet.
  • Deretter, i kodevinduet, kopier følgende kode og lim inn det.
7206

Koden din er nå klar til å kjøre.

  • Deretter Kjør makroen som vi viste deg i avsnittet ovenfor. Resultatet vises i gif-ennedenfor.

Det vil være et popup-vindu MsgBox som viser -verdien som bæres av hver celle fra hver rad fra tabellen i Excel-arket ditt.

VBA-kodeforklaring

4862

Definer variablene.

6149

Dette stykket av kode begynner først å gå gjennom rader i tabellen (« TblStudents » er tabellnavnet vårt). Legger deretter inn kolonner for hver rad. Deretter sender du verdien til cellen i MsgBox. Gå deretter til neste kolonne. Etter å ha fullført iterasjonen gjennom alle kolonnene i én rad, går den til neste rad og fortsetter iterasjonsprosessen til siste rad.

2.2. Med DataBodyRange-egenskapen

For å være mer spesifikk med de utpakkede dataene fra tabellen, kan du bruke egenskapen DataBodyRange til ListObject . DataBodyRange -egenskapen vil gi deg resultatet som inneholder området fra listen mellom overskriftsraden og innsettingsraden.

Trinnene for hvordan du kan sløyfe gjennom hver celle i hver rad. av en tabell etter celleverdi med DataBodyRange i VBA Excel er gitt nedenfor.

Trinn:

  • Som vist før, åpne Visual Basic Editor fra kategorien Utvikler og Sett inn en modul i kodevinduet.
  • Deretter , kopier følgende kode og lim inn den i kodevinduet.
4981

Koden din er nå klar til å kjøre.

  • Senere, Kjør makroen og se på følgende gif for å se utdataene.

Det vil dukke opp et popup-vindu MsgBox som viser deg verdien som bæres av hver celle fra hver rad fra tabellen i Excel-arket ditt.

VBA-kodeforklaring

3000

Definer variabelen.

3666

Denne kodebiten begynner først å gå gjennom rader i tabellen (« TblStdnt » er tabellnavnet vårt) og returnerer en rekke verdier ekskl. overskriftsraden i tabellen. Send deretter verdien til området i MsgBox. Deretter går den til neste rad for å trekke ut området og fortsetter iterasjonsprosessen til siste rad.

3. Bruk VBA-makro for å iterere gjennom rader ved å sette sammen kolonner i Excel

Denne delen viser hvordan du løkker gjennom rader i en tabell ved å sette sammen kolonnene med den første kolonnen fra datasettet ditt i Excel.

For eksempel, for datasettet vårt, vil vi først iterere gjennom John i celle B5 og 101 i celle C5 ved å sette dem sammen og deretter iterere gjennom John i celle B5 og 89 i celle D5 ved å sette dem sammen fra rad 5 .

La oss vise deg hvordan du kan gjøre det med VBA -makro i Excel.

Trinn:

  • Åpne først Visual Basic Editor fra 1>Utvikler -fanen og Sett inn en modul i kodevinduet.
  • For det andre, i kodevinduet, kopier følgende kodeog lim inn den.
3823

Koden din er nå klar til å kjøre.

  • For det tredje, Kjør makroen. Se på gif-filen nedenfor for å se resultatet.

Det vil være et popup-vindu MsgBox som viser deg den sammenkjedede verdien av cellene fra den første og den andre kolonnen ( John i celle B5 fra kolonne B og 101 i celle C5 fra kolonne C ) og deretter den sammenkoblede verdien av cellene fra den første og den tredje kolonnen ( John i celle B5 fra kolonne B og 89 i celle D5 fra kolonne D ) i rad nummer 5 fra datasettet ditt. Og denne sammenkoblingsoperasjonen vil fortsette til den når den siste raden i tabellen.

VBA-kodeforklaring

4878

Definer variabelen.

5966

Deretter velger koden tabellen fra det aktive arket (" TblConcatenate " i tabellnavnet vårt).

8976

Begynner deretter å iterere hver rad unntatt overskriften til kolonnen. Hvis iterasjonen finner samsvar i området mellom kolonneoverskriften og radene, lagrer den verdien i iValue -variabelen.

1933

Hvis betingelsen ovenfor ikke blir oppfylt, koden kaster verdien i MsgBox og fullfører tilstanden. Etter det går den videre til looping i et annet område og fortsetter å iterere til siste rad. Når den når slutten av raden, avslutter makroen kjøringen av koden.

4. Bygg inn makro for å gjentagjennom rader ved å sammenkoble alle kolonner i en tabell i Excel

I denne delen lærer vi hvordan du sammenkobler alle kolonnene som hver rad inneholder i datasettet med VBA -makro i Excel.

Trinnene for å utføre som er vist nedenfor.

Trinn:

  • Åpne først Visual Basic Editor fra kategorien Utvikler og Sett inn en modul i kodevinduet.
  • Deretter kopier følgende kode og lim inn den i kodevinduet.
3582

Koden din er nå klar til å kjøre.

  • Deretter Kjør makrokoden.

Som du kan se fra gif-en ovenfor er det et popup-vindu MsgBox som viser deg den sammenkoblede verdien av alle kolonnene i hver rad fra tabellen i Excel-regnearket.

VBA-kodeforklaring

2268

Definer variablene.

7730

Angi arknavnet som vi skal jobbe med (" ConcatenatingAllCol " er arknavnet i arbeidsboken).

2038

De fin tabellnavnet som vi skal jobbe med (" TblConcatenateAll " er tabellnavnet i datasettet vårt).

4616

Starter iterasjon gjennom hver rad i tabellen.

5302

Starter iterasjon gjennom hver kolonne i hver rad i tabellen.

1431

Lagre resultatet ved å krysse verdiene hver kolonne i hver rad har. Etter å ha skannet gjennom alle kolonnene i hver rad, passerte denresultat i MsgBox. Deretter starter sløyfen igjen i neste rad og fortsetter sløyfen til den når den siste raden i tabellen.

Les mer: Hvordan sortere flere kolonner i en tabell med Excel VBA (2 metoder)

5. Stopp iterasjon hvis verdi funnet ved å gå gjennom rader i en tabell med VBA-makro

Anta at du vil løkke gjennom radene i tabellen din og stoppe loopingen når den finner en bestemt verdi . Du kan gjøre det med bare en enkel makrokode.

La oss lære hvordan du gjør det VBA i Excel.

Trinn:

  • Åpne først Visual Basic Editor fra kategorien Utvikler og Sett inn en modul i kodevinduet.
  • Deretter, i kodevinduet, kopier følgende kode og lim inn den.
3694

Koden din er nå klar til å kjøres .

  • Senere Kjør makroen.
  • Den vil starte loopen og stoppe den når den finner den spesifikke verdien (" Edge ") i området og kaster -resultatet i MsgBox .

Som du kan se fra bildet ovenfor, er det en pop-up MsgBox som viser deg celleadressen, $B$10 , der vi fant den angitte verdien, « Edge » .

VBA-kodeforklaring

2404

Definer variabel.

6441

Denne kodebiten er her for å gå gjennom rader fra 1 til 15. Hvis den finner det spesifikke ordet" Edge " så sender den resultatet med celleadressen som inneholder ordet. Den fortsetter å gjøre dette til den er ferdig med å skanne gjennom alle dataene fra rad 1 til 15 i søk etter ordet.

Les mer: Slik setter du inn eller sletter rader og kolonner fra Excel-tabell

6. VBA for å gå gjennom hver rad og fargelegge en bestemt verdi i Excel

Hva om du ikke vil kaste celleadressen til den angitte verdien i MsgBox? Det kan være lurt å farge cellen som har verdien du leter etter.

La oss lære hvordan du gjør det med VBA -makroen.

Trinn:

  • På samme måte som før, åpne Visual Basic Editor fra fanen Utvikler og Sett inn en Modul i kodevinduet.
  • Deretter kopier følgende kode og lim inn den i kodevinduet.
5923

Koden din er nå klar til å kjøre.

  • Deretter Kjør makroen.
  • Den vil starte løkken og stoppe den når den finner den spesifikke verdien (" Edge ") i området og farge cellen med ColourIndex som du oppga i koden.

Som du kan se fra bildet ovenfor, C ell B10 , hvor vi fant den angitte verdien, « Edge » er farget etter kjøringen av koden.

VBA-kodeforklaring

4812

Definer

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.