VBA om deur tabelrye in Excel te loop (11 metodes)

  • Deel Dit
Hugh West

Wanneer ons 'n groot datastel in ons Excel-werkboek het, is dit soms gerieflik as ons deur rye kan loop om die spesifieke resultate wat ons wil kry, te onttrek. Die implementering van VBA is die doeltreffendste, vinnigste en veiligste metode om enige bewerking in Excel uit te voer. In hierdie artikel sal ons vir jou 11 verskillende metodes wys oor hoe om deur rye van 'n tabel in Excel met die VBA-makro te lus.

Laai Werkboek af

Jy kan die gratis oefen Excel-werkboek van hier af aflaai.

Los deur tabelrye met VBA.xlsm

11 metodes met VBA om deur rye van tabelle in Excel te loop

Na aanleiding van hierdie afdeling, sal jy leer hoe om deur rye van 'n tabel te loop met 11 verskillende metodes, soos lus deur rye tot 'n leë sel, lus deur rye totdat 'n spesifieke waarde gevind word, lus deur rye en kleur 'n spesifieke sel in ens. met VBA makro in Excel.

Hierbo is die voorbeelddatastel wat hierdie artikel sal volg om die metodes te beskryf.

1. Sluit VBA in om deur elke sel in elke ry van 'n tabel te loop volgens selverwysingsnommer

As jy wil deur elke sel in elke ry van 'n tabel in jou Excel-werkblad en kry die selverwysingsnommer as die terugkeerwaarde , volg dan die stappe wat hieronder bespreek word.

Stappe:

  • In die begin , druk Alt + F11 op jou sleutelbord of gaanveranderlike.
8052

Hierdie stukkie kode is hier om deur rye van 1 tot 15 te loop. As dit die spesifieke woord “ Rand ” vind, kleur dit die sel wat die woord bevat. Dit gaan voort om dit te doen totdat dit klaar is om deur al die data van rye 1 tot 15 te soek in soek na die woord.

Lees Meer: Hoe om VLOOKUP Table Array te gebruik Gebaseer op Selwaarde in Excel

Soortgelyke lesings

  • Bestaan ​​TABELfunksie in Excel?
  • Hoe om tabel na lys in Excel om te skakel (3 vinnige maniere)
  • Omskep reeks na tabel in Excel (5 maklike metodes)
  • Gebruik formule effektief in 'n Excel-tabel (met 4 voorbeelde)
  • Excel-tabelnaam: alles wat u moet weet

7. Implementeer VBA om deur elke ry te loop en elke onewe ry in Excel te kleur

Uit die vorige afdeling het ons geleer hoe om 'n sel in te kleur wat 'n spesifieke waarde dra. In hierdie afdeling sal ons leer hoe om deur elke ry van 'n tabel te loop en elke onewe ry in te kleur met VBA makro in Excel.

Stappe om die proses uit te voer word hieronder beskryf.

Stappe:

  • Soos voorheen getoon, maak Visual Basic Editor oop vanaf die Ontwikkelaar oortjie en Voeg 'n Module in die kodevenster in.
  • Dan kopieer die volgende kode en plak dit in die kodevenster.
7635

Jou kode is nou gereed om te loop.

  • Nou, Laat die makro uitvoer en kyk na die volgende prent om die uitvoer te sien.

Al die onewe getal rye is gekleur nadat jy deur al die rye in die tabel van die werkblad gelus het.

VBA Kode Verduideliking

1892

Definieer die veranderlike.

5076

Definieer die reeks waarmee ons sal werk.

1898

Hierdie deel van die kode verwys na die iterasie deur al die rye, vanaf die volgende ry van die huidige ry, B4 . As die mod om die rynommers deur 2 te deel gelyk is aan die teruggekeerde rynommer wat in 'n heelgetaltipe gestoor is, kleur hierdie kode al die rye wat deur die berekening onttrek word met die Kleurindeks wat in die kode voorsien word. Dit bly deur al die rye beweeg totdat dit die einde van die reeks bereik.

8. Implementeer VBA om deur rye te loop en elke ewe rye in Excel in te kleur

In die vorige afdeling het ons geleer hoe om elke onewe ry van 'n tabel in te kleur. In hierdie afdeling sal ons leer hoe om deur elke ry van 'n tabel te loop en elke ewe ry met VBA-makro in Excel in te kleur.

Stappe om die proses uit te voer word hieronder bespreek.

Stappe:

  • Maak eers Visual Basic Editor oop vanaf die Ontwikkelaar -oortjie en Voeg in 'n Module in die kodevenster.
  • Dan kopieer die volgende kode en plak dit in die kodevenster.
1553

Jou kode is nou gereed omhardloop.

  • Volgende, Laat die makro en kyk na die volgende prent om die resultaat te sien.

Al die ewe-genommerde rye is gekleur nadat deur al die rye in die tabel van die werkblad gelus is.

VBA Kode Verduideliking

9889

Definieer die veranderlike.

6155

Definieer die reeks waarmee ons sal werk.

6722

Hierdie stuk kode begin herhaal na die drie rye van die huidige ry, B4 . Dit kleur dit eers in en verhoog dan die rytelling met 2 en hou aan om dit in te kleur totdat dit die laaste ry van die datastel bereik.

9. Pas makro toe om deur rye te herhaal tot leë sel in Excel

As jy wil hê jou kode moet werk soos dit sal deur al die rye van die tabel loop en stop wanneer dit 'n leë sel bereik , dan is hierdie afdeling vir jou. Jy kan daardie taak beide met die VIR Lus en die Doen-Tot Lus in Excel VBA uitvoer.

9.1. Met FOR Loop

Stappe om deur rye in 'n tabel te loop totdat 'n leë sel met FOR Loop in VBA Excel hieronder gegee word.

Stappe:

  • Maak eers Visual Basic Editor oop vanaf die Ontwikkelaar -oortjie en Voeg in 'n Module in die kodevenster.
  • Daarna kopieer die volgende kode en plak dit in die kodevenster.
5936

Jou kode is nou gereed om te loop.

  • Dan, Hardloop diemakro en die resultaat word in die gif hieronder getoon.

Nadat die makro uitgevoer is, het dit begin deur al die rye in die tabel te loop en sodra dit die leë sel, Sel B8 bereik het, het dit die iterasie gestop .

VBA Kode Verduideliking

9401

Definieer die veranderlike.

6707

Skakel die skermopdateringsgebeurtenis af.

6943

Stoor al die rye vanaf Sel B4 tot die laaste een.

4787

Kies Sel B4 .

3838

Hierdie stuk kode begin deur al die rye loop. Wanneer dit 'n leë sel in 'n ry kry, kies dit dan en gaan voort om die rye te skandeer totdat dit die einde bereik.

9178

Skakel die skermopdateringsgebeurtenis aan.

9.2. Met Doen-Tot-lus

Stappe om deur rye te loop totdat 'n leë sel met Doen-Tot-lus in VBA hieronder gegee word.

Stappe:

  • Maak eers Visual Basic Editor oop vanaf die Ontwikkelaar -oortjie en Voeg in 'n Module in die kodevenster.
  • Dan kopieer die volgende kode en plak dit in die kodevenster.
6331

Jou kode is nou gereed om te loop.

  • Later, Begin die makro. Die resultaat word in die volgende gif getoon.

Nadat die makro uitgevoer is, het dit begin deur al die rye in die tabel en een keer dit het die leë sel, Sel B8 bereik, dit het die iterasie gestop .

VBA-kodeVerduideliking

7560

Kies die sel waaruit ons sal werk.

9887

Begin en gaan voort met lus totdat 'n leë sel gevind word.

4782

Wanneer 'n leë sel is in 'n ry gevind, kies dit dan en stop die iterasie.

10. VBA-makro om deur rye te herhaal tot veelvuldige leë selle in Excel

In die vorige afdeling het jy geleer hoe om die lus te stop wanneer 'n leë sel gevind word. Maar wat as jy nie die iterasie wil stop totdat veelvuldige leë selle gevind word in plaas van net een nie.

Die stappe om deur rye te loop totdat veelvuldige leë selle in 'n tabel gevind word met VBA Excel word hieronder getoon.

Stappe:

  • Maak eerstens Visual Basic Editor oop vanaf die Ontwikkelaar -oortjie en Voeg 'n Module in die kodevenster in.
  • Dan kopieer die volgende kode en plak dit in die kodevenster.
2089

Jou kode is nou gereed om te loop.

  • Nou, Begin die makro en sien die volgende gif vir die uitvoer.

Nadat die makro uitgevoer is, het dit nie gestop op die eerste leë sel, Sel B8 . Dit het gestop toe dit twee opeenvolgende leë selle op Sel B16 gevind het.

VBA Kode Verduideliking

7376

Kies die sel waarvan ons sal werk.

9208

Begin en gaan voort met lus totdat twee opeenvolgende leë selle gevind word.

2254

Wanneer twee opeenvolgende leë selle gevind word, dankies dit en stop die herhaling.

11. Sluit VBA in om deur rye te loop deur alle kolomme tot leeg te koppel in Excel

Hierdie afdeling sal jou wys hoe om deur al die rye in 'n tabel te lus en al die kolomme saam te voeg tot 'n leë sel word gevind met VBA Excel.

Kom ons leer hoe om dit met VBA -makro in Excel te doen.

Stappe:

  • Maak eers Visual Basic Editor oop vanaf die Ontwikkelaar -oortjie en Voeg in 'n Module in die kodevenster.
  • Dan kopieer die volgende kode en plak dit in die kodevenster.
8118

Jou kode is nou gereed om te hardloop.

  • Later, Hardloop die makro en sien die volgende gif vir die resultaat.

Soos jy uit die bogenoemde gif kan sien, is daar 'n opspring MsgBox wat jou die aaneengeskakelde waarde van al die kolomme wat in elke ry uit die tabel van jou Excel-werkblad. Maar dit het gestop sodra dit die leë sel bereik .

VBA Kode Verduideliking

1754

Definieer die veranderlikes.

2878

Stel die bladnaam waarmee ons sal werk (“ ConcatenatingAllColUntilBlank ” is die bladnaam in die werkboek).

7302

Definieer die reeks waarmee ons sal werk.

9207

Hierdie stuk kode begin die lus met die skikking. Dit gaan voort om te lus totdat dit die grootste subskripsie van die skikking en die onderste grens van dieeerste dimensie. Dan betree dit die iterasie om die onderste grens van die tweede dimensie te onttrek. Daarna stuur dit al die onttrekde waardes in die iResult veranderlike deur hulle aaneen te koppel en die resultaat in die MsgBox te gooi. Dit gaan voort om dit te doen totdat dit 'n leë sel vind.

Gevolgtrekking

Om af te sluit, het hierdie artikel vir jou 11 effektiewe metodes gewys oor hoe om deur rye te loop van 'n tabel in Excel met die VBA-makro . Ek hoop hierdie artikel was baie voordelig vir jou. Vra gerus enige vrae rakende die onderwerp.

na die blad Ontwikkelaar -> Visual Basicom Visual Basic Editoroop te maak.

  • Volgende, in die opspringkode-venster, vanaf die kieslysbalk, klik Voeg in -> Module .

  • Dan kopieer die volgende kode en plak dit in die kode venster.
2743

Jou kode is nou gereed om te loop.

  • Druk nou F5 op jou sleutelbord of van die kieslysbalk kies Run -> Begin Sub/UserForm . Jy kan ook net op die klein Speel-ikoon in die subkieslysbalk klik om die makro te laat loop.

  • Of om visueel getuig en vergelyk die datastel en die resultaat, jy kan stoor die kode en gaan terug na die werkblad van belang.
  • Van daar af kan jy <1 klik>Makro's vanaf die Ontwikkelaar -oortjie, kies die Makro-naam, en klik dan Lop .

Na die suksesvolle uitvoering van die kode, kyk na die bogenoemde gif om die resultaat te sien. Daar sal 'n pop-up MsgBox wees wat jou die selverwysingsnommer van elke sel van elke ry uit die tabel in jou Excel-blad wys.

VBA Kode Verduideliking

3964

Om die laaste rynommer in die tabel te kry deur kolom B te soek.

5296

Stel ry nommer 4, vanwaar ons data begin.

1530

Om van die eerste ry af te lus.

8902

Stel kolom nommer 2 van waar ons data begin.

6903

Begin deur rye te loop om die laaste te krykolomnommer deur die huidige ry tot die laaste ry te evalueer.

5496

Inkrementeer die kolom van die eerste ry tot die laaste ry.

6990

Hierdie stuk kode werk om te verwerk, verhoog na elke iterasie en vertoon die resultaat van die kode.

Lees meer: Hoe om nuwe ry outomaties in 'n Excel-tabel by te voeg

2 . Implementeer VBA om deur elke sel in elke ry volgens waarde te loop

As jy deur elke sel in elke ry van 'n tabel wil lus en die waarde wat in die selle woon, as die terugkeerwaarde gooi , dan sal hierdie afdeling jou help om uit te vind hoe om dit te doen met VBA Excel.

Jy kan dit doen met die ListObject en met die DataBodyRange -eienskap van VBA . Ons sal vir jou die makro-kode wys met beide die voorwerp en die eienskap.

2.1. Met die ListObject

Die stappe om deur elke sel in elke ry van 'n tabel volgens selwaarde te loop met die ListObject in VBA Excel word hieronder gegee.

Stappe:

  • Op dieselfde manier as voorheen, maak Visual Basic Editor oop vanaf die Ontwikkelaar -oortjie en Voeg 'n Module in die kodevenster in.
  • Dan, in die kodevenster, kopieer die volgende kode en plak dit.
2884

Jou kode is nou gereed om te loop.

  • Daarna, Begin die makro soos ons jou in die bogenoemde afdeling gewys het. Die resultaat word in die gif gewyshieronder.

Daar sal 'n pop-up MsgBox wees wat jou die waarde wys wat deur elke sel van elke ry <2 gedra word>uit die tabel in jou Excel-blad.

VBA Kode Verduideliking

8580

Definieer die veranderlikes.

8859

Hierdie stuk van kode begin eers deur rye in die tabel loop (“ TblStudents ” is ons tabelnaam). Voer dan kolomme vir elke ry in. Slaag daarna die waarde van die sel in MsgBox. Gaan dan na die volgende kolom. Nadat die herhaling deur al die kolomme van een ry voltooi is, gaan dit na die volgende ry en gaan voort met die iterasieproses tot die laaste ry.

2.2. Met die DataBodyRange Property

Om meer spesifiek te wees met die onttrekde data uit die tabel, kan jy die DataBodyRange -eienskap van ListObject gebruik. DataBodyRange -eienskap sal vir jou die resultaat gooi wat die reeks van die lys tussen die kopry en die invoegry bevat.

Die stappe oor hoe jy deur elke sel in elke ry kan lus. van 'n tabel volgens selwaarde met die DataBodyRange in VBA Excel word hieronder gegee.

Stappe:

  • Soos getoon voor, maak Visual Basic Editor oop vanaf die Ontwikkelaar -oortjie en Voeg in 'n Module in die kodevenster.
  • Dan , kopieer die volgende kode en plak dit in die kodevenster.
2587

Jou kode is nou gereed om te loop.

  • Later, Laat die makro hardloop en kyk na die volgende gif om die afvoer te sien.

Daar sal 'n pop-up MsgBox wat jou die waarde wys wat deur elke sel van elke ry uit die tabel in jou Excel-blad gedra word.

VBA Kode Verduideliking

1152

Definieer die veranderlike.

Do Until IsEmpty(ActiveCell) And IsEmpty(ActiveCell.Offset(1, 0))

Hierdie stuk kode begin eers deur rye in die tabel loop (“ TblStdnt ” is ons tabelnaam) en gee 'n reeks waardes wat uitsluit die kopry van die tabel. Gee dan die waarde van die reeks in MsgBox deur. Dan gaan dit na die volgende ry om die reeks te onttrek en gaan voort met die iterasieproses tot die laaste ry.

3. Pas VBA-makro toe om deur rye te herhaal deur kolomme in Excel te koppel

Hierdie afdeling sal wys hoe om deur rye in 'n tabel te herlus deur die kolomme met die eerste kolom van jou datastel aan te sluit in Excel.

Byvoorbeeld, vir ons datastel, sal ons eers deur John in Sel B5 en 101 in Sel C5 herhaal deur hulle aaneen te koppel en dan deur te herhaal John in Sel B5 en 89 in Sel D5 deur hulle van ry 5 aaneen te koppel.

Kom ons wys jou hoe jy dit kan doen met VBA -makro in Excel.

Stappe:

  • Maak eers Visual Basic Editor oop vanaf die Ontwikkelaar -oortjie en Voeg 'n Module in die kodevenster in.
  • Tweedens, in die kodevenster, kopieer die volgende kodeen plak dit.
7498

Jou kode is nou gereed om te loop.

  • Derdens, Begin die makro. Kyk na die gif hieronder om die resultaat te sien.

Daar sal 'n pop-up MsgBox wees wat jou die aaneengeskakelde waarde wys van die selle van die eerste en tweede kolom ( John in Sel B5 van Kolom B en 101 in Sel C5 van Kolom C ) en dan die aaneengeskakelde waarde van die selle van die eerste en derde kolom ( John in Sel B5 van Kolum B en 89 in Sel D5 van Kolom D ) van ry nommer 5 uit jou datastel. En hierdie aaneenskakelingsbewerking sal voortgaan totdat dit die laaste ry van die tabel bereik.

VBA Kode Verduideliking

4319

Definieer die veranderlike.

9566

Dan kies die kode die tabel uit die aktiewe blad (" TblConcatenate " in ons tabelnaam).

8219

Daarna, begin elke ry herhaal, met uitsondering van die kop van die kolom. As die iterasie 'n passing vind in die reeks tussen die kolomkop en die rye, stoor dit die waarde in die iValue veranderlike.

7991

As die voorwaarde hierbo nie vervul word nie, dan die kode gooi die waarde in die MsgBox en voltooi die toestand. Daarna gaan dit oor na 'n lus in 'n ander reeks en gaan voort met iterasie tot die eindry. Sodra dit die eindry bereik, beëindig die makro die kode-uitvoering.

4. Sluit makro in om te herhaaldeur rye deur alle kolomme in 'n tabel in Excel te koppel

In hierdie afdeling sal ons leer hoe om al die kolomme wat elke ry bevat in die datastel aaneen te koppel met VBA -makro in Excel.

Die stappe om uit te voer wat hieronder getoon word.

Stappe:

  • Eers maak Visual Basic Editor vanaf die Ontwikkelaar -oortjie en Voeg 'n Module in die kodevenster in.
  • Dan, kopieer die volgende kode en plak dit in die kodevenster.
7023

Jou kode is nou gereed om te loop.

  • Volgende, Laat die makro-kode.

Soos jy kan sien uit die bogenoemde gif is dat daar 'n pop-up MsgBox wat jou die aaneengeskakelde waarde wys van al die kolomme wat in elke ry van die tabel van jou Excel-werkblad voorkom.

VBA Kode Verduideliking

1574

Definieer die veranderlikes.

3019

Stel die bladnaam waarmee ons sal werk (“ ConcatenatingAllCol ” is die bladnaam in die werkboek).

6026

De verfyn die tabelnaam waarmee ons sal werk (“ TblConcatenateAll ” is die tabelnaam in ons datastel).

6275

Begin iterasie deur elke ry van die tabel.

1938

Begin iterasie deur elke kolom van elke ry van die tabel.

5165

Stoor die resultaat deur die waardes wat elke kolom van elke ry dra, te sny. Nadat hy deur al die kolomme in elke ry geskandeer het, het dit dielei tot die MsgBox. Begin dan weer lus in die volgende ry en gaan voort met lus totdat dit die laaste ry van die tabel bereik.

Lees meer: Hoe om veelvuldige kolomme van 'n tabel te sorteer met Excel VBA (2 Metodes)

5. Stop iterasie as waarde gevind word deur deur rye van 'n tabel met VBA-makro te loop

Gestel jy wil lus deur die rye van jou tabel wat het en stop die lus wanneer dit 'n spesifieke waarde vind . Jy kan dit doen met net 'n eenvoudige makro-kode.

Kom ons leer hoe om dit VBA in Excel te doen.

Stappe:

  • Maak eers Visual Basic Editor oop vanaf die Ontwikkelaar -oortjie en Voeg in 'n Module in die kodevenster.
  • Dan, in die kodevenster, kopieer die volgende kode en plak dit.
7193

Jou kode is nou gereed om te loop .

  • Later, Laat die makro.
  • Dit sal die lus begin en dit stop wanneer dit vind die spesifieke waarde (“ Rand ”) in die reeks en gooi die resultaat in die MsgBox .

Soos jy uit die prent hierbo kan sien, is daar 'n pop-up MsgBox wat jou die seladres, $B$10 wys waar ons gevind het die gespesifiseerde waarde, Edge .

VBA-kode Verduideliking

5341

Definieer die veranderlike.

3428

Hierdie stuk kode is hier om deur rye van 1 tot 15 te loop. As dit die spesifieke woord vind“ Rand ” dan gee dit die resultaat deur met die seladres wat die woord bevat. Dit gaan voort om dit te doen totdat dit klaar is om deur al die data van rye 1 tot 15 te soek in soek na die woord.

Lees Meer: Hoe om rye en kolomme in te voeg of uit Excel-tabel te verwyder

6. VBA om deur elke ry te loop en 'n spesifieke waarde in Excel te kleur

Wat as jy nie die seladres van die gespesifiseerde waarde in die MsgBox wil gooi nie? Jy sal dalk die sel wil kleur wat die waarde dra waarna jy soek.

Kom ons leer hoe om dit met VBA -makro te doen.

Stappe:

  • Op dieselfde manier as voorheen, maak Visual Basic Editor oop vanaf die Ontwikkelaar -oortjie en Voeg in 'n Module in die kodevenster.
  • Dan kopieer die volgende kode en plak dit in die kodevenster.
3093

Jou kode is nou gereed om te loop.

  • Daarna, Laat die makro.
  • Dit sal die lus begin en stop wanneer dit die spesifieke waarde (“ Rand ”) in die reeks vind en die sel kleur met die Kleurindeks wat jy in die kode verskaf het.

Soos jy uit die prent hierbo kan sien, C ell B10 , waar ons die gespesifiseerde waarde gevind het, is Rand ” gekleur na die kode-uitvoering.

VBA Kode Verduideliking

9922

Definieer die

Hugh West is 'n hoogs ervare Excel-afrigter en ontleder met meer as 10 jaar ondervinding in die bedryf. Hy het 'n Baccalaureusgraad in Rekeningkunde en Finansies en 'n Meestersgraad in Besigheidsadministrasie. Hugh het 'n passie vir onderrig en het 'n unieke onderrigbenadering ontwikkel wat maklik is om te volg en te verstaan. Sy kundige kennis van Excel het duisende studente en professionele persone wêreldwyd gehelp om hul vaardighede te verbeter en uit te blink in hul loopbane. Deur sy blog deel Hugh sy kennis met die wêreld, en bied gratis Excel-tutoriale en aanlyn opleiding aan om individue en besighede te help om hul volle potensiaal te bereik.