VBA om troch rigen fan tabel yn Excel te loopen (11 metoaden)

  • Diel Dit
Hugh West

As wy in grutte dataset yn ús Excel-wurkboek hawwe, is it soms handich as wy troch rigen kinne rinne om de spesifike resultaten te ekstrahearje dy't wy wolle krije. It ymplementearjen fan VBA is de meast effektive, fluchste en feilichste metoade om elke operaasje yn Excel út te fieren. Yn dit artikel sille wy jo 11 ferskillende metoaden sjen litte oer hoe't jo troch rigen fan in tabel yn Excel mei de VBA-makro rinne kinne.

Download wurkboek

Jo kinne it fergese Excel-wurkboek fan hjir downloade.

Tafelrige troch trochlûke mei VBA.xlsm

11 Metoaden mei VBA om troch rigen fan tabel yn Excel te loopen

Nei dizze seksje sille jo leare hoe't jo troch rigen fan in tabel rinne kinne mei 11 ferskillende metoaden, lykas troch de rigen rinne oant in lege sel, troch de rigen trochrinne oant in spesifike wearde fûn wurdt, troch de rigen trochrinne en in spesifike sel kleurje ensfh. mei VBA makro yn Excel.

Hjirboppe is it foarbyld dataset dat dit artikel sil folgje om de metoaden te beskriuwen.

1. VBA ynbêde om troch elke sel yn elke rige fan in tabel troch selreferinsjenûmer te lûken

As jo ​​​​wolle troch elke sel yn elke rige fan in tabel yn jo Excel-wurkblêd te rinnen en krije it selreferinsjenûmer as de weromkommende wearde , folgje dan de stappen dy't hjirûnder besprutsen binne.

Stappen:

  • Yn it begjin , druk op Alt + F11 op jo toetseboerd of geanfariabele.
6753

Dit stikje koade is hjir foar it trochrinnen fan rigen fan 1 oant 15. As it it spesifike wurd " Râne " fynt, dan kleurt it de sel dy't it wurd hâldt. It bliuwt dit te dwaan oant it klear is mei it scannen fan alle gegevens fan rigen 1 oant en mei 15 by it sykjen nei it wurd.

Lês mear: How to Use VLOOKUP Table Array Based on Selwearde yn Excel

Gelykbere lêzingen

  • Bestiet TABLE-funksje yn Excel?
  • Hoe konvertearje tabel nei list yn Excel (3 rappe manieren)
  • Berik konvertearje nei tabel yn Excel (5 maklike metoaden)
  • Brûk formule effektyf yn in Excel-tabel (mei 4 foarbylden)
  • Excel-tabelnamme: alles wat jo witte moatte

7. Implementearje VBA om troch elke rige te loopen en elke ûneven rige yn Excel te kleurjen

Fan 'e foarige seksje hawwe wy leard hoe't jo in sel kinne kleurje dy't in spesifike wearde draacht. Yn dizze seksje sille wy leare hoe't jo troch elke rige fan in tabel rinne en elke ûneven rige kleurje mei VBA makro yn Excel.

Stappen om it proses út te fieren wurde hjirûnder beskreaun.

Stappen:

  • Lykas earder werjûn, iepenje Visual Basic Editor fan de ûntwikkelder ljepper en Foegje in Module yn it koadefinster.
  • Dan, Kopiearje de folgjende koade en plakke it yn it koadefinster.
6577

Jo koade is no klear om te rinnen.

  • No, Rin de makro en sjoch nei de folgjende ôfbylding om de útfier te sjen.

Alle ûneven rigen binne kleure nei't troch alle rigen dy't yn 'e tabel fan it wurkblêd wenje troch luskjen binne.

VBA-koade-útlis

7061

Define de fariabele.

3214

Definiearje it berik dat wy sille wurkje mei.

4149

Dit diel fan de koade ferwiist nei de iteraasje troch alle rigen, begjinnend fan de folgjende rige fan de hjoeddeiske rige, B4 . As de mod fan dielen fan de rige nûmers troch 2 is gelyk oan it weromjûn rige nûmer opslein yn in hiel getal type, dan kleurt dizze koade alle rigen dy't wurde ekstrahearre troch de berekkening mei de Color Index foarsjoen yn de koade. It bliuwt troch alle rigen bewege oant it it ein fan it berik berikt.

8. Implementearje VBA om troch rigen te lûken en elke even rigen yn Excel te kleurjen

Yn 'e foarige seksje hawwe wy leard hoe't jo elke ûneven rige fan in tabel kleurje kinne. Yn dizze paragraaf sille wy leare hoe't jo troch elke rige fan in tabel trochrinne en elke even rige kleurje mei VBA-makro yn Excel.

Stappen om it proses út te fieren wurde hjirûnder besprutsen.

Stappen:

  • Earst iepenje Visual Basic Editor fan it ljepblêd ûntwikkelder en Ynfoegje in Module yn it koadefinster.
  • Dan Kopiearje de folgjende koade en plakke it yn it koadefinster.
1202

Jo koade is no klear omrun.

  • Folgjende, Rin de makro en sjoch nei de folgjende ôfbylding om it resultaat te sjen.

Alle even nûmere rigen binne kleure nei't troch alle rigen yn 'e tabel fan it wurkblêd lutsen binne.

VBA Code Explanation

4872

Definiearje de fariabele.

6570

Definiearje it berik dat wy sille wurkje mei.

4937

Dit stik koade begjint te iterearjen neidat de trije rigen fan de hjoeddeiske rige, B4 . It kleuret it earst en fergruttet it oantal rigen mei 2 en bliuwt it kleurjen oant it de lêste rige fan 'e dataset berikt.

9. Macro tapasse om te iterearjen troch rigen oant lege sel yn Excel

As jo ​​​​wolle dat jo koade wurket sa't it sil troch alle rigen fan 'e tabel rinne en stopje as it in lege sel berikt , dan is dizze seksje foar jo. Jo kinne dizze taak sawol útfiere mei de FOR Loop as de Do-Until Loop yn Excel VBA .

9.1. Mei FOR Loop

Stappen om troch rigen yn in tabel te rinnen oant in lege sel mei FOR Loop yn VBA Excel wurde hjirûnder jûn.

Stappen:

  • Earst iepenje Visual Basic Editor fan it ljepblêd ûntwikkelder en Ynfoegje in Module yn it koadefinster.
  • Dernei kopiearje de folgjende koade en plakke yn it koadefinster.
2207

Jo koade is no klear om te rinnen.

  • Dan, Run demakro en it resultaat wurdt werjûn yn de gif hjirûnder.

Nei it útfieren fan de makro is it begûn troch alle rigen te rinnen yn 'e tabel en as it ienris de lege sel, sel B8 berikte, stopte it de iteraasje .

VBA Code Explanation

5619

Define de fariabele.

4609

Skeatsje it skerm bywurkingsevenemint út.

5955

Bewarje alle rigen fan Sel B4 oant de lêste.

5577

Selektearje Sel B4 .

2181

Dit stik koade begjint troch alle rigen te rinnen. As it in lege sel yn in rige fynt, dan selektearje it en bliuwt it scannen fan de rigen oant it it ein berikt.

9993

Skeakje it skermfernijingsevenemint oan.

9.2. Mei Do-Until Loop

Stappen om troch rigen te rinnen oant in lege sel mei Do-Until loop yn VBA hjirûnder werjûn.

Stappen:

  • Earst iepenje Visual Basic Editor fan it ljepblêd ûntwikkelder en Ynfoegje in Module yn it koadefinster.
  • Dan, Kopiearje de folgjende koade en plakke it yn it koadefinster.
5283

Jo koade is no klear om te rinnen.

  • Letter, Run de makro. It resultaat wurdt werjûn yn de folgjende gif.

Nei it útfieren fan de makro begon it troch alle rigen yn 'e tabel en ien kear te rinnen it berikte de lege sel, sel B8 , it stoppe de iteraasje .

VBA-koadeTaljochting

3294

Selektearje de sel wêrfan wy wurkje.

2649

Begint en giet troch mei looping oant in lege sel fûn wurdt.

For Each iCol In iObj.ListColumns

As in lege sel is op in rige fûn, selektearje it dan en stopje de iteraasje.

10. VBA-makro om troch rigen te iterearjen oant meardere lege sellen yn Excel

Yn 'e foarige seksje hawwe jo leard hoe't jo de loop stopje kinne as in lege sel wurdt fûn. Mar wat as jo de iteraasje net stopje wolle oant meardere lege sellen fûn binne ynstee fan mar ien.

De stappen om troch rigen te rinnen oant meardere lege sellen binne fûn yn in tabel mei VBA Excel wurde hjirûnder werjûn.

Stappen:

  • Earst iepenje Visual Basic Editor fanút de Untwikkelders ljepper en Foegje in Module yn it koadefinster.
  • Dan kopiearje de folgjende koade en plakke it yn it koadefinster.
9284

Jo koade is no klear om te rinnen.

  • No, Run de makro en sjoch de folgjende gif foar de útfier.

Nei it útfieren fan de makro, stie it net op 'e earste lege sel, sel B8 . It stoppe doe't it fûn twa opfolgjende lege sellen op sel B16 .

VBA-koade taljochting

6393

Selektearje de sel dat wy sille wurkje út.

4594

Begint en giet troch mei looping oant twa opienfolgjende lege sellen wurde fûn.

2396

As twa opfolgjende lege sellen wurde fûn, danselektearje it en stopje de iteraasje.

11. VBA ynbêde om troch rigen troch te rinnen troch alle kolommen oant leech yn Excel te ferbinen

Dizze seksje sil jo sjen litte hoe't jo troch alle rigen yn in tabel rinne kinne en alle kolommen gearfoegje oant in lege sel wurdt fûn mei VBA Excel.

Litte wy leare hoe't jo dat dwaan mei VBA makro yn Excel.

Stappen:

  • Earst iepenje Visual Basic Editor fan it ljepblêd ûntwikkelder en Foegje in module yn it koadefinster.
  • Dan, Kopiearje de folgjende koade en plakke it yn it koadefinster.
6142

Jo koade is no klear om te rinnen.

  • Letter Rin de makro en sjoch de folgjende gif foar it resultaat.

Sa't jo kinne sjen fan 'e boppesteande gif is dat d'r in pop-up MsgBox is dy't jo de gearfoege wearde fan alle kolommen dy't yn elk wenje rige út 'e tabel fan jo Excel-wurkblêd. Mar it stopte doe't it de lege sel berikte .

VBA Code Taljochting

8266

Define de fariabelen.

7439

Stel de blêdnamme yn wêrmei wy sille wurkje (" ConcatenatingAllColUntilBlank " is de blêdnamme yn it wurkboek).

2909

Definiearje it berik wêrmei wy wurkje.

2407

Dit stik koade begjint de loop mei de array. It bliuwt te loop oant it jout it grutste subskript fan de rige en de legere grins fan deearste diminsje. Dan komt it yn 'e iteraasje fan it ekstrahearjen fan' e legere grins fan 'e twadde diminsje. Dêrnei passet it alle ekstrahearre wearden yn 'e fariabele iResult troch se te ferbinen en it resultaat yn 'e MsgBox te smiten. It bliuwt dat te dwaan oant it in lege sel fynt.

Konklúzje

Ta it sluten liet dit artikel jo 11 effektive metoaden sjen oer hoe't jo troch rigen kinne rinne fan in tabel yn Excel mei de VBA makro . Ik hoopje dat dit artikel tige foardielich foar jo west hat. Fiel jo frij om fragen te stellen oangeande it ûnderwerp.

nei it ljepblêd Utwikkelder -> Visual Basicom Visual Basic Editorte iepenjen.

  • Dêrnei, yn it pop-up-koade-finster, út de menubalke, klik op Ynfoegje -> Module .

  • Dan Kopiearje de folgjende koade en plakke yn de koade finster.
5866

Jo koade is no klear om te rinnen.

  • Druk no op F5 op jo toetseboerd of út de menubalke selektearje Utfiere -> Run Sub/UserForm . Jo kinne ek gewoan klikke op it lytse Play-ikoantsje yn 'e submenubalke om de makro út te fieren.

  • Of om visueel tsjûge en fergelykje de dataset en it resultaat, kinne jo bewarje de koade en weromgean nei it wurkblêd fan belang.
  • Dêrwei kinne jo klikke op Makro's fan it ljepblêd Developer , selektearje de makronamme, en klik dan op Utfiere .

Sjoch nei de suksesfolle koade-útfiering nei de boppesteande gif om it resultaat te sjen. Der sil in pop-up MsgBox wêze dat jo it selferwizingsnûmer fan elke sel fan elke rige út de tabel yn jo Excel-blêd sjen lit.

VBA Code Explanation

5157

Om it lêste rigenûmer yn 'e tabel te krijen troch te sykjen yn kolom B.

4294

Set rigel nûmer 4 yn, wêrfan ús gegevens begjinne.

3654

Om fan 'e earste rige te lûken.

3895

Set kolom nûmer 2 yn, wêrfan ús gegevens begjinne.

2911

Begjin troch de rigen te rinnen om de lêste te krijenkolomnûmer troch de hjoeddeiske rige te evaluearjen oant de lêste rigel.

8425

Inkrementearje de kolom fan 'e earste rige oant de lêste rige.

7267

Dit stikje koade wurket om te ferwurkjen, nei elke iteraasje en lit it resultaat fan de koade sjen.

Lês Mear: Hoe kinne jo nije rige automatysk tafoegje yn in Excel-tabel

2 . Implementearje VBA om troch elke sel yn elke rige troch wearde te loopen

As jo ​​​​wolle troch elke sel yn elke rige fan in tabel trochrinne en de wearde dy't yn 'e sellen wennet as de weromwearde smyt , dan sil dizze seksje jo helpe út te finen hoe't jo dat dwaan kinne mei VBA Excel.

Jo kinne dat dwaan mei de ListObject en mei de DataBodyRange eigenskip fan VBA . Wy sille jo de makrokoade sjen litte mei sawol it objekt as it eigendom.

2.1. Mei it ListObject

De stappen om troch elke sel yn elke rige fan in tabel troch selwearde te gean mei it ListObject yn VBA Excel wurde hjirûnder jûn.

Stappen:

  • Deselde manier as earder, iepenje Visual Basic Editor fan it ljepblêd ûntwikkelder en Foegje in Module yn it koadefinster.
  • Dan, yn it koadefinster, Kopiearje de folgjende koade en plakke it.
6750

Jo koade is no klear om te rinnen.

  • Dernei Run de makro lykas wy jo sjen litte yn 'e boppesteande seksje. It resultaat wurdt werjûn yn 'e gifhjirûnder.

D'r sil in pop-up MsgBox wêze dy't jo de wearde toant dy't troch elke sel út elke rige <2 wurdt droegen>út de tabel yn jo Excel-blêd.

VBA-koade taljochting

9646

Define de fariabelen.

4446

Dit stik fan koade begjint earst troch rigen yn 'e tabel te loopen (" TblStudents " is ús tabelnamme). Dan fiert kolommen foar elke rige. Fier dêrnei de wearde fan 'e sel troch yn MsgBox. Gean dan nei de folgjende kolom. Nei it foltôgjen fan iterearjen troch alle kolommen fan ien rige, dan giet it nei de folgjende rige en giet it iteraasjeproses troch oant de lêste rige.

2.2. Mei de DataBodyRange Eigenskip

Om mear spesifyk te wêzen mei de ekstrahearre gegevens út 'e tabel, kinne jo de DataBodyRange eigenskip fan ListObject brûke. DataBodyRange -eigenskip sil jo it resultaat smyt dat it berik befettet fan 'e list tusken de kop-rige en de ynfoegje rige.

De stappen oer hoe't jo kinne troch elke sel yn elke rige gean fan in tabel troch selwearde mei de DataBodyRange yn VBA Excel wurde hjirûnder werjûn.

Stappen:

  • As werjûn foar, iepenje Visual Basic Editor fan it ljepblêd ûntwikkelder en Foegje in Module yn it koadefinster.
  • Dan , kopiear de folgjende koade en plakke it yn it koadefinster.
6978

Jo koade is no klear om te rinnen.

  • Letter, Rin de makro en sjoch nei de folgjende gif om de útfier te sjen.

Der sil in pop-up wêze MsgBox dy't jo de wearde sjen litte dy't troch elke sel út elke rige droegen wurdt út de tabel yn jo Excel-blêd.

VBA-koade-útlis

5054

Define de fariabele.

8592

Dit stik koade begjint earst troch rigen yn 'e tabel te loopen (" TblStdnt " is ús tabelnamme) en jout in berik fan wearden útsein de koptekst rige fan 'e tabel. Fier dan de wearde fan it berik troch yn MsgBox. Dan giet it nei de folgjende rige om it berik te ekstrahearjen en bliuwt it iteraasjeproses troch oant de lêste rige.

3. VBA-makro tapasse om troch rigen te iterearjen troch kolommen yn Excel te ferbinen

Dizze seksje sil sjen litte hoe't jo troch rigen yn in tabel kinne trochrinne troch de kolommen te ferbinen mei de earste kolom fan jo dataset yn Excel.

Bygelyks, foar ús dataset, sille wy earst iterearje troch John yn sel B5 en 101 yn sel C5 troch se te ferbinen en dan troch te iterearjen troch John yn sel B5 en 89 yn sel D5 troch se te keppeljen fan rige 5 .

Lit ús jo sjen litte hoe't jo dat kinne dwaan mei VBA makro yn Excel.

Stappen:

  • Earst iepenje Visual Basic Editor fanút de Utwikkelders ljepper en Foegje in Module yn it koadefinster.
  • Twadde, yn it koadefinster, kopiearje it folgjende koadeen plakke it.
6830

Jo koade is no klear om te rinnen.

  • Tredde, Run de makro. Sjoch nei de gif hjirûnder om it resultaat te sjen.

D'r sil in pop-up wêze MsgBox dy't jo de gearfoege wearde toant fan de sellen út de earste en de twadde kolom ( John yn sel B5 fan Kolom B en 101 yn Sel C5 fan Kolom C ) en dan de gearfoege wearde fan de sellen út de earste en de tredde kolom ( John yn Sel B5 út Kolom B en 89 yn Sel D5 út Kolom D ) fan rige nûmer 5 fan jo dataset. En dizze gearhingoperaasje sil trochgean oant it de lêste rige fan 'e tabel berikt.

VBA Code Explanation

9791

Definiearje de fariabele.

4872

Dan selekteart de koade de tabel út it aktive blêd (" TblConcatenate " yn ús tabelnamme).

2793

Dêrnei begjint it iterearjen fan elke rige útsein de koptekst fan de kolom. As de iteraasje in oerienkomst fynt yn it berik tusken de kolomkop en de rigen, dan bewarret it de wearde yn de iValue fariabele.

5191

As de boppesteande betingst net foldien wurdt, dan de koade smyt de wearde yn 'e MsgBox en einiget de betingst. Dêrnei giet it troch nei looping yn in oar berik en bliuwt iterearjen oant de einrige. As it ienris de einrige berikt, einiget de makro de útfiering fan koade.

4. Makro ynfoegje om te iterearjentroch rigen troch alle kolommen yn in tabel yn Excel te ferbinen

Yn dizze seksje sille wy leare hoe't jo alle kolommen dy't elke rige hâldt yn 'e dataset mei gearfoegje VBA makro yn Excel.

De stappen om út te fieren dy't hjirûnder werjûn wurde.

Stappen:

  • Earst iepenje Visual Basic Editor fan it ljepblêd Developer en Foegje in Module yn it koadefinster.
  • Dan, kopiearje de folgjende koade en plakke it yn it koadefinster.
8277

Jo koade is no klear om te rinnen.

  • Folgjende, Rin de makro-koade.

Sa't jo sjen kinne fan 'e boppesteande gif is dat der is in pop-up MsgBox dy't jo de gearfoege wearde toant fan alle kolommen yn elke rige út de tabel fan jo Excel-wurkblêd.

VBA Koade Taljochting

5631

Define de fariabelen.

7455

Stel de blêdnamme yn wêrmei wy sille wurkje (" ConcatenatingAllCol " is de blêdnamme yn it wurkboek).

7760

De fine de tabelnamme wêrmei wy sille wurkje (" TblConcatenateAll " is de tabelnamme yn ús dataset).

3730

Begint iteraasje troch elke rige fan 'e tabel.

9721

Begjint iteraasje troch elke kolom fan elke rige fan 'e tabel.

5415

Bewarje it resultaat troch de wearden te snijen dy't elke kolom fan elke rige draacht. Nei it skennen troch alle kolommen dy't wenje yn elke rige, it trochjûn deresultaat yn 'e MsgBox. Dan wer begjint looping yn de folgjende rige en bliuwt looping oant it berikt de lêste rige fan de tabel.

Lês Mear: Hoe sortearje meardere kolommen fan in tabel mei Excel VBA (2 Metoaden)

5. Iteraasje stopje as wearde fûn troch troch rigen fan in tabel mei VBA-makro te lûken

Stel dat jo troch de rigen fan jo tabel wolle rinne wolle en de looping stopje as it in spesifike wearde fynt . Jo kinne dat dwaan mei gewoan in ienfâldige makrokoade.

Litte wy leare hoe't jo dat dwaan VBA yn Excel.

Stappen:

  • Earst iepenje Visual Basic Editor fan it ljepblêd ûntwikkelder en Foegje in Module yn it koadefinster.
  • Dan, yn it koadefinster, Kopiearje de folgjende koade en plak it.
5002

Jo koade is no klear om te rinnen .

  • Letter, Run de makro.
  • It sil de loop begjinne en stopje as it fynt de spesifike wearde (" Edge ") yn it berik en smyt it resultaat yn 'e MsgBox .

Sa't jo kinne sjen fan 'e ôfbylding hjirboppe, is d'r in pop-up MsgBox dy't jo it seladres, $B$10 toant, wêr't wy fûnen de oantsjutte wearde, Râne .

VBA-koade taljochting

7909

Definiearje de fariabele.

9450

Dit stikje koade is hjir foar it trochrinnen fan rigen fan 1 oant 15. As it it spesifike wurd fynt" Râne " dan giet it it resultaat troch mei it seladres dat it wurd hâldt. It bliuwt dit te dwaan oant it klear is mei it scannen fan alle gegevens fan rigen 1 oant 15 by it sykjen nei it wurd.

Read More: How to Insert or Delete Rows and Columns from Excel Table

6. VBA om troch elke rige te lûken en in spesifike wearde yn Excel te kleurjen

Wat as jo it seladres fan 'e oantsjutte wearde net yn 'e MsgBox wolle smite? Jo wolle miskien de sel kleurje dy't de wearde draacht wêr't jo nei sykje.

Litte wy leare hoe't jo dat dwaan mei VBA makro.

Stappen:

  • Deselde manier as earder, iepenje Visual Basic Editor fan it ljepblêd ûntwikkelder en Ynfoegje in Module yn it koadefinster.
  • Dan Kopiearje de folgjende koade en plakke it yn it koadefinster.
7993

Jo koade is no klear om te rinnen.

  • Dernei Run de makro.
  • It sil de lus begjinne en stopje as it de spesifike wearde fynt (" Râne ") yn it berik en kleurje de sel mei de ColourIndex dy't jo yn 'e koade opjûn hawwe.

Sa't jo sjen kinne út de ôfbylding hjirboppe, C ell B10 , wêr't wy de oantsjutte wearde fûnen, " Râne " is kleurd nei de koade-útfiering.

VBA-koade taljochting

7414

Definiearje de

Hugh West is in tige betûfte Excel-trainer en analist mei mear as 10 jier ûnderfining yn 'e yndustry. Hy hat in bachelorstitel yn boekhâlding en finânsjes en in masterstitel yn bedriuwsadministraasje. Hugh hat in passy foar lesjaan en hat in unike lesoanpak ûntwikkele dy't maklik te folgjen en te begripen is. Syn saakkundige kennis fan Excel hat tûzenen studinten en professionals wrâldwiid holpen har feardigens te ferbetterjen en útblinke yn har karriêre. Troch syn blog dielt Hugh syn kennis mei de wrâld, en biedt fergese Excel-tutorials en online training om partikulieren en bedriuwen te helpen har folsleine potensjeel te berikken.