Efnisyfirlit
Þegar við erum með stórt gagnasafn í Excel vinnubókinni okkar, er stundum þægilegt ef við getum farið í gegnum línur til að draga út þær tilteknu niðurstöður sem við viljum fá. Innleiðing VBA er áhrifaríkasta, fljótlegasta og öruggasta aðferðin til að keyra hvaða aðgerð sem er í Excel. Í þessari grein munum við sýna þér 11 mismunandi aðferðir um hvernig á að lykka í gegnum töfluraðir í Excel með VBA fjölvi .
Hlaða niður vinnubók
Þú getur halað niður ókeypis Excel vinnubókinni héðan.
Lokaðu í gegnum töfluraðir með VBA.xlsm
11 aðferðir með VBA til að hringja í gegnum töflulínur í Excel
Eftir þessum hluta muntu læra hvernig á að lykkja í gegnum töfluraðir með 11 mismunandi aðferðum, eins og að lykkja í gegnum raðir þar til autt reit, lykkja í gegnum raðir þar til ákveðið gildi finnst, lykkja í gegnum raðir og lita ákveðinn reit o.s.frv. með VBA macro í Excel.
Hér að ofan er dæmið gagnasafn sem þessi grein mun fylgja til að lýsa aðferðunum.
1. Fella VBA inn í lykkju í gegnum hverja reit í hverri röð í töflu eftir tilvísunarnúmeri hólfs
Ef þú vilt lykka í gegnum hvern reit í hverri röð töflu í Excel vinnublaðinu þínu og fáðu frumutilvísunarnúmerið sem skilgildi , fylgdu síðan skrefunum sem fjallað er um hér að neðan.
Skref:
- Í upphafi , ýttu á Alt + F11 á lyklaborðinu þínu eða farðubreytu.
8518
Þetta kóðastykki er hér til að fara í gegnum línur frá 1 til 15. Ef það finnur tiltekið orðið " Edge " þá litar það reitinn sem geymir orðið. Það heldur áfram að gera þetta þar til það lýkur að skanna í gegnum öll gögnin frá línum 1 til 15 í leitinni að orðinu.
Lesa meira: Hvernig á að nota VLOOKUP Table Array Byggt á Hólfgildi í Excel
Svipuð lestur
- Er TABLE virkni til í Excel?
- Hvernig á að umbreyta töflu í lista í Excel (3 fljótlegar leiðir)
- Breyta bili í töflu í Excel (5 auðveldar aðferðir)
- Notaðu formúlu í Excel töflu á áhrifaríkan hátt (með 4 dæmum)
- Excel töfluheiti: Allt sem þú þarft að vita
7. Innleiða VBA til að hringja í gegnum hverja röð og lita hverja staka línu í Excel
Frá fyrri hlutanum höfum við lært hvernig á að lita reit sem hefur ákveðið gildi. Í þessum hluta munum við læra hvernig á að lykkja í gegnum hverja röð í töflu og lita allar stakar línur með VBA fjölva í Excel.
Skref til að framkvæma ferlið er lýst hér að neðan.
Skref:
- Eins og áður hefur verið sýnt, opnaðu Visual Basic Editor frá Developer flipa og Settu inn einingu í kóðagluggann.
- Síðan, afritaðu eftirfarandi kóða og límdu hann inn í kóðaglugganum.
4146
Kóðinn þinn er nú tilbúinn til að keyra.
- Nú, Keyddu makróið og skoðaðu eftirfarandi mynd til að sjá úttakið.
Allar oðatölulínurnar eru litaðar eftir að hafa farið í gegnum allar línurnar sem eru í töflunni á vinnublaðinu.
VBA kóða skýring
3358
Skilgreindu breytuna.
3267
Tilgreindu svið sem við munum vinna með.
5390
Þessi hluti kóðans vísar til endurtekningar í gegnum allar línur, frá næstu línu í núverandi línu, B4 . Ef aðferðin við að deila línunúmerunum með 2 er jöfn skiluðu línunúmerinu sem er geymt í heiltölugerð, þá litar þessi kóði allar línurnar sem eru dregnar út með útreikningnum með litavísitölunni sem fylgir kóðanum. Það heldur áfram að hreyfast í gegnum allar raðir þar til það nær lok sviðsins.
8. Innleiða VBA til að fara í gegnum línur og lita allar jöfnar línur í Excel
Í fyrri hlutanum höfum við lært hvernig á að lita allar odda línur í töflu. Í þessum kafla munum við læra hvernig á að lykkja í gegnum hverja röð í töflu og lita hverja jöfnu röð með VBA fjölvi í Excel.
Fjallað er um skref til að framkvæma ferlið hér að neðan.
Skref:
- Í fyrsta lagi skaltu opna Visual Basic Editor frá Developer flipanum og Insert Eining í kóðaglugganum.
- Svo skaltu afrita eftirfarandi kóða og líma inn í kóðagluggann.
2421
Kóðinn þinn er nú tilbúinnkeyra.
- Næst, Keyra makróið og skoða eftirfarandi mynd til að sjá niðurstöðuna.
Allar jafntölulínurnar eru litaðar eftir að hafa farið í gegnum allar línurnar sem eru í töflunni á vinnublaðinu.
VBA-kóðaskýring
3072
Tilgreindu breytuna.
8943
Tilgreindu sviðið sem við munum vinna með.
5649
Þessi kóði byrjar að endurtaka eftir þrjár línur frá núverandi röð, B4 . Það litar það fyrst og hækkar síðan röðina um 2 og heldur áfram að lita það þar til það nær síðustu línu gagnasafnsins.
9. Notaðu fjölva til að endurtaka í gegnum línur þar til tómt hólf er í Excel
Ef þú vilt að kóðinn þinn virki eins og hann mun lykkjast í gegnum allar raðir töflunnar og hætta þegar hann nær auðu hólfinu , þá er þessi hluti fyrir þig. Þú getur framkvæmt það verkefni bæði með FOR Loop og Do-Until Loop í Excel VBA .
9.1. Með FOR Loop
Skref til að lykkjast í gegnum línur í töflu þar til auður reiti með FOR Loop í VBA Excel eru gefin hér að neðan.
Skref:
- Í fyrstu skaltu opna Visual Basic Editor frá Developer flipanum og Insert a Module í kóðaglugganum.
- Eftir það afritaðu eftirfarandi kóða og límdu inn í kóðagluggann.
3092
Kóðinn þinn er nú tilbúinn til að keyra.
- Þá Keyrðu makró og útkoman er sýnd í gifinu hér að neðan.
Eftir að hafa keyrt makróið byrjaði það að fara í gegnum allar línurnar í töflunni og þegar það náði auðu reitnum, klefi B8 , stöðvaði það endurtekninguna .
VBA kóða skýring
1940
Tilgreindu breytuna.
5191
Slökktu á skjáuppfærsluviðburðinum.
8523
Geymdu allar línur frá Hólf B4 þar til það síðasta.
5503
Veldu Hólf B4 .
1796
Þetta stykki af kóða byrjar að fara í gegnum allar línurnar. Þegar það finnur tóman reit í röð velur hann hann og heldur áfram að skanna línurnar þar til hann nær enda.
2891
Kveiktu á skjáuppfærsluviðburðinum.
9.2. Með Do-Until Loop
Skref til að lykkja í gegnum línur þar til auður reiti með Do-Until lykkju í VBA eru gefin hér að neðan.
Skref:
- Í fyrsta lagi skaltu opna Visual Basic Editor frá Developer flipanum og Insert a Eining í kóðaglugganum.
- Svo skaltu afrita eftirfarandi kóða og líma inn í kóðagluggann.
9601
Kóðinn þinn er nú tilbúinn til að keyra.
- Síðar, Keyrðu fjölva. Niðurstaðan er sýnd í eftirfarandi gif.
Eftir að hafa keyrt makróið byrjaði það að fara í gegnum allar línurnar í töflunni og einu sinni það náði auða reitnum, klefi B8 , það stöðvaði endurtekninguna .
VBA kóðaSkýring
4902
Veldu hólfið sem við munum vinna úr.
4476
Byrjar og heldur áfram að hringja þar til tómt hólf finnst.
3935
Þegar tómt hólf er fannst í röð, veldu það síðan og stöðvaðu endurtekninguna.
10. VBA Macro til að endurtaka í gegnum raðir þar til margar auðar frumur eru í Excel
Í fyrri hlutanum hefurðu lært hvernig á að stöðva lykkjuna þegar tómt hólf finnst. En hvað ef þú vilt ekki stöðva endurtekninguna fyrr en margar auðar hólfur finnast í stað þess að aðeins einn.
Skrefin til að lykkjast í gegnum raðir þar til margar auðar reitur finnast í töflu með VBA Excel eru sýndar hér að neðan.
Skref:
- Í fyrsta lagi skaltu opna Visual Basic Editor frá Developer flipann og Settu inn Module í kóðagluggann.
- Síðan, afritaðu eftirfarandi kóða og líma það inn í kóðagluggann.
2593
Kóðinn þinn er nú tilbúinn til að keyra.
- Nú, Keyrðu makróið og sjáðu eftirfarandi gif fyrir úttakið.
Eftir að hafa keyrt makróið stoppaði það ekki á fyrsta auða reiturinn, klefi B8 . Það hætti þegar það fann tveir auðir reiti í röð á reit B16 .
VBA kóða skýring
7000
Veldu reitinn sem við munum vinna út frá.
3392
Byrjar og heldur áfram í lykkju þar til tvær tómar reiti í röð finnast.
3135
Þegar tvær tómar einingar í röð finnast, þáveldu það og stöðvaðu endurtekninguna.
11. Fella VBA inn í lykkju í gegnum línur með því að sameina alla dálka þar til auðir eru í Excel
Þessi hluti mun sýna þér hvernig á að lykkja í gegnum allar línur í töflu og sameina alla dálka þar til autt reit er að finna með VBA Excel.
Við skulum læra hvernig á að gera það með VBA fjölva í Excel.
Skref:
- Fyrst skaltu opna Visual Basic Editor á flipanum Developer og Setja inn module í kóðaglugganum.
- Svo skaltu afrita eftirfarandi kóða og líma inn í kóðagluggann.
1820
Kóðinn þinn er nú tilbúinn til að keyra.
- Síðar, Keyrðu makróið og sjáðu eftirfarandi gif fyrir niðurstöðuna.
Eins og þú sérð af ofangreindu gifinu er að það er sprettigluggi MsgBox sem sýnir þér sambundið gildi allra dálka sem eru í hverjum röð úr töflunni á Excel vinnublaðinu þínu. En það hætti þegar það náði auða reitnum .
VBA kóða skýring
3002
Skilgreindu breyturnar.
2332
Stillið nafn blaðsins sem við munum vinna með (" ConcatenatingAllColUntilBlank " er blaðnafnið í vinnubókinni).
2843
Skilgreindu svið sem við munum vinna með.
6246
Þetta stykki af kóða byrjar lykkjuna með fylkinu. Það heldur áfram í lykkju þar til það skilar stærstu undirskrift fylkisins og neðri mörkumfyrstu vídd. Síðan fer það í endurtekninguna að draga út neðri mörk annarrar víddar. Eftir það sendir það öll útdregin gildi í iResult breytunni með því að sameina þau og henda niðurstöðunni í MsgBox. Það heldur áfram að gera það þar til það finnur tóman reit.
Niðurstaða
Til að lokum sýndi þessi grein þér 11 árangursríkar aðferðir til að lykkja í gegnum línur af töflu í Excel með VBA fjölvi . Ég vona að þessi grein hafi verið þér mjög gagnleg. Ekki hika við að spyrja spurninga varðandi efnið.
í flipann Hönnuði -> Visual Basictil að opna Visual Basic Editor.
- Næst, í sprettiglugganum, frá valmyndarstiku, smelltu á Insert -> Module .
- Svo skaltu afrita eftirfarandi kóða og líma í kóðann glugga.
3455
Kóðinn þinn er nú tilbúinn til að keyra.
- Nú skaltu ýta á F5 á lyklaborð eða á valmyndastikunni veldu Run -> Keyra Sub/UserForm . Þú getur líka bara smellt á litla spilunartáknið í undirvalmyndastikunni til að keyra makróið.
- Eða til að sjónrænt vitni og berðu saman gagnasafnið og niðurstöðuna, þú getur vistað kóðann og farið aftur á vinnublaðið sem þú vilt.
- Þaðan geturðu smellt á Macros á Developer flipanum, veljið Macro name, og smelltu síðan á Run .
Eftir árangursríka keyrslu kóða skaltu skoða gifið hér að ofan til að sjá niðurstöðuna. Það mun birtast sprettigluggi MsgBox sem sýnir þér tilvísunarnúmer hólfs í hverri línu í hverri röð úr töflunni í Excel blaðinu þínu.
VBA kóða skýring
5743
Til að fá síðasta röð númer í töflunni með því að leita í dálki B.
6978
Settu línu númer 4, þaðan sem gögnin okkar byrja.
FirstColumn = 2
Til að lykkja úr fyrstu röð.
3141
Stilltu dálk númer 2, þaðan sem gögnin okkar byrja.
6023
Byrjaðu að hringja í gegnum línur til að fá síðustudálknúmer með því að meta núverandi línu þar til í síðustu línu.
4573
Stækka með lykkju á dálknum frá fyrstu línu fram í síðustu línu.
7883
Þessi kóðahluti vinnur að því að vinna, hækkar eftir hverja endurtekningu og birtu niðurstöðu kóðans.
Lesa meira: Hvernig á að bæta við nýrri línu sjálfkrafa í Excel-töflu
2 . Innleiða VBA til að lykkja í gegnum hvern reit í hverri röð eftir gildi
Ef þú vilt lykka í gegnum hvern reit í hverri röð töflu og henda gildinu sem er í reitunum sem skilgildi , þá mun þessi hluti hjálpa þér að finna út hvernig á að gera það með VBA Excel.
Þú getur gert það með ListObject og með DataBodyRange eiginleiki VBA . Við munum sýna þér makrókóðann með bæði hlutnum og eigninni.
2.1. Með ListObject
Skrefin til að lykkjast í gegnum hverja reit í hverri röð töflu eftir reitgildi með ListObject í VBA Excel eru gefin hér að neðan.
Skref:
- Sömu leið og áður, opnaðu Visual Basic Editor frá Developer flipanum og Settu inn einingu í kóðagluggann.
- Síðan, í kóðaglugganum, afritaðu eftirfarandi kóða og límdu það.
9618
Kóðinn þinn er nú tilbúinn til að keyra.
- Eftir það Keyrðu fjölva eins og við sýndum þér í hlutanum hér að ofan. Niðurstaðan er sýnd í gifinuhér að neðan.
Það mun birtast sprettigluggi MsgBox sem sýnir þér gildið sem hver hólfi ber úr hverri röð úr töflunni í Excel blaðinu þínu.
VBA kóða skýring
5285
Tilgreindu breyturnar.
4105
Þetta stykki af kóða byrjar fyrst að fara í gegnum línur í töflunni („ TblNemendur “ er töfluheitið okkar). Færir síðan dálka fyrir hverja línu. Eftir það, sendu gildi frumunnar í MsgBox. Farðu síðan í næsta dálk. Eftir að hafa lokið endurtekningu í gegnum alla dálka einnar línu, fer það í næstu línu og heldur endurtekningarferlinu áfram þar til í síðustu línu.
2.2. Með DataBodyRange eigninni
Til að vera nákvæmari með útdregnu gögnin úr töflunni geturðu notað DataBodyRange eiginleikann ListObject . DataBodyRange eignin mun henda þér niðurstöðunni sem inniheldur bilið frá listanum á milli hauslínunnar og innsetningarlínunnar.
Skrefin um hvernig þú getur lykkjað í gegnum hvern reit í hverri röð af töflu eftir frumugildi með DataBodyRange í VBA Excel eru gefin upp hér að neðan.
Skref:
- Eins og sýnt er áður, opnaðu Visual Basic Editor á flipanum Developer og Settu inn module í kóðaglugganum.
- Síðan , afritaðu eftirfarandi kóða og límdu hann inn í kóðagluggann.
9029
Kóðinn þinn er nú tilbúinn til að keyra.
- Síðar, Keyddu makróið og skoðaðu eftirfarandi gif til að sjá úttakið.
Það verður sprettigluggi MsgBox sem sýnir þér gildið sem hver hólfi ber úr hverri röð úr töflunni í Excel blaðinu þínu.
VBA kóða skýring
5198
Skilgreindu breytuna.
1758
Þessi kóðahluti byrjar fyrst að fara í gegnum línur í töflunni („ TblStdnt “ er töfluheitið okkar) og skilar fjölda gilda sem eru ekki meðtalin hausaröð töflunnar. Sendu síðan gildi sviðsins í MsgBox. Síðan fer það í næstu línu til að draga út bilið og heldur endurtekningarferlinu áfram þar til í síðustu röð.
3. Notaðu VBA Macro til að endurtaka línur með því að sameina dálka í Excel
Þessi hluti mun sýna hvernig á að lykkja í gegnum línur í töflu með því að tengja dálkana saman við fyrsta dálkinn úr gagnasafninu þínu í Excel.
Til dæmis, fyrir gagnasafnið okkar, munum við fyrst endurtaka í gegnum John in Cell B5 og 101 in Cell C5 með því að sameina þau og síðan endurtaka í gegnum John í hólf B5 og 89 í hólf D5 með því að tengja þau saman úr röð 5 .
Við skulum sýna þér hvernig þú getur gert það með VBA fjölvi í Excel.
Skref:
- Í fyrstu skaltu opna Visual Basic Editor frá 1>Hönnuði flipann og Settu inn einingu í kóðagluggann.
- Í öðru lagi, í kóðaglugganum, afritaðu eftirfarandi kóðaog líma það.
9400
Kóðinn þinn er nú tilbúinn til að keyra.
- Í þriðja lagi, Keyra makróið. Horfðu á gifið hér að neðan til að sjá niðurstöðuna.
Það mun birtast sprettigluggi MsgBox sem sýnir þér samtengda gildið af frumunum úr fyrsta og öðrum dálki ( Jóhannes í hólf B5 úr dálki B og 101 í hólf C5 úr dálki C ) og síðan sambundið gildi af frumunum úr fyrsta og þriðja dálki ( Jóhannes í hólf B5 úr dálki B og 89 í hólf D5 úr dálki D ) í röð númer 5 úr gagnasafninu þínu. Og þessi samtengingaraðgerð mun halda áfram þar til hún nær síðustu línu töflunnar.
VBA kóða skýring
2836
Tilgreindu breytuna.
2187
Þá velur kóðinn töfluna úr virka blaðinu (" TblConcatenate " í töfluheitinu okkar).
6799
Eftir það byrjarðu að endurtaka hverja línu að undanskildum hausnum á dálkinn. Ef endurtekningin finnur samsvörun á bilinu milli dálkhaussins og línanna þá geymir hún gildið í iValue breytunni.
4127
Ef ofangreint skilyrði er ekki uppfyllt, þá kóðinn kastar gildinu í MsgBox og klárar ástandið. Eftir það heldur það áfram í lykkju á öðru sviði og heldur áfram að endurtaka þar til í endalínunni. Þegar það er komið að endalínunni lýkur fjölvi keyrslu kóðans.
4. Fella inn Macro til að endurtakaí gegnum línur með því að sameina alla dálka í töflu í Excel
Í þessum hluta munum við læra hvernig á að tengja saman alla dálka sem hver röð inniheldur í gagnasafninu með VBA fjölvi í Excel.
Skrefin til að framkvæma sem eru sýnd hér að neðan.
Skref:
- Í fyrsta lagi, opnaðu Visual Basic Editor frá Developer flipanum og Settu inn Module í kóðagluggann.
- Síðan, afritaðu eftirfarandi kóða og límdu hann inn í kóðagluggann.
5208
Kóðinn þinn er nú tilbúinn til að keyra.
- Næst, Keyra makrókóðann.
Eins og þú sérð af ofangreindu gifinu er að það er sprettigluggi MsgBox sem sýnir þér samruna gildi allra dálka sem eru í hverri röð úr töflunni á Excel vinnublaðinu þínu.
VBA kóða skýring
4010
Tilgreindu breyturnar.
3702
Stilltu blaðheitið sem við munum vinna með (" ConcatenatingAllCol " er blaðnafnið í vinnubókinni).
2355
De fínn töfluheitið sem við munum vinna með (" TblConcatenateAll " er töfluheitið í gagnasafninu okkar).
8433
Byrjar endurtekningu í gegnum hverja röð töflunnar.
4847
Byrjar endurtekningu í gegnum hvern dálk í hverri röð töflunnar.
6101
Geymdu niðurstöðuna með því að skera gildin sem hver dálkur í hverri línu ber. Eftir að hafa skannað í gegnum alla dálka sem eru í hverri röð fór það framhjániðurstöðu í MsgBox. Byrjar svo aftur að lykkja í næstu röð og heldur áfram að lykkja þar til hún nær síðustu röð töflunnar.
Lesa meira: Hvernig á að raða mörgum dálkum í töflu með Excel VBA (2 aðferðir)
5. Stöðva endurtekningu ef gildi fannst með því að fara í gegnum línur í töflu með VBA Macro
Segjum sem svo að þú viljir lykkja í gegnum línurnar í töflunni þinni og stöðva lykkjuna þegar það finnur ákveðið gildi . Þú getur gert það með einföldum makrókóða.
Við skulum læra hvernig á að gera það VBA í Excel.
Skref:
- Í fyrstu skaltu opna Visual Basic Editor frá Developer flipanum og Setja inn Module í kóðaglugganum.
- Þá, í kóðaglugganum, afritaðu eftirfarandi kóða og límdu hann.
2707
Kóðinn þinn er nú tilbúinn til að keyra .
- Síðar, Keyra fjölvi.
- Það mun ræsa lykkjuna og stöðva það þegar það finnur tiltekið gildi (" Edge ") á sviðinu og hendir niðurstöðunni í MsgBox .
Eins og þú sérð á myndinni hér að ofan er sprettigluggi MsgBox sem sýnir þér netfangið, $B$10 , þar sem við fundum tilgreint gildi, “ Edge ” .
VBA kóða skýring
3342
Tilgreindu breytu.
3005
Þetta kóðastykki er hér til að fara í gegnum línur frá 1 til 15. Ef það finnur tiltekið orð„ Edge “ þá sendir það niðurstöðuna með veffanginu sem geymir orðið. Það heldur áfram að gera þetta þar til það lýkur að skanna í gegnum öll gögnin frá línum 1 til 15 í leit að orðinu.
Lesa meira: Hvernig á að setja inn eða eyða línum og dálkum úr Excel töflu
6. VBA til að fara í gegnum hverja röð og lita tiltekið gildi í Excel
Hvað ef þú vilt ekki henda vistfangi tilgreinds gildis í MsgBox? Þú gætir viljað lita reitinn sem ber gildið sem þú ert að leita að.
Við skulum læra hvernig á að gera það með VBA fjölva.
Skref:
- Sömu leið og áður, opnaðu Visual Basic Editor frá Developer flipanum og Insert a Eining í kóðaglugganum.
- Svo skaltu afrita eftirfarandi kóða og líma inn í kóðagluggann.
9644
Kóðinn þinn er nú tilbúinn til að keyra.
- Eftir það skaltu keyra fjölva.
- Það mun ræsa lykkjuna og stöðva hana þegar það finnur tiltekið gildi (" Edge ") á sviðinu og lita reitinn með ColourIndex sem þú gafst upp í kóðanum.
Eins og þú sérð á myndinni hér að ofan, C ell B10 , þar sem við fundum tilgreint gildi, „ Edge “ er litað eftir keyrslu kóðans.
VBA kóða skýring
3189
Tilgreindu