Ynhâldsopjefte
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