VBA za kretanje po redovima tablice u Excelu (11 metoda)

  • Podijeli Ovo
Hugh West

Kada imamo veliki skup podataka u radnoj knjizi programa Excel, ponekad je zgodno ako možemo kružiti kroz retke kako bismo izdvojili određene rezultate koje želimo dobiti. Implementacija VBA je najučinkovitija, najbrža i najsigurnija metoda za pokretanje bilo koje operacije u Excelu. U ovom ćemo vam članku pokazati 11 različitih metoda kako kružiti kroz redove tablice u Excelu pomoću VBA makronaredbe .

Preuzmi radnu knjigu

Ovdje možete preuzeti besplatnu Excel radnu knjigu za vježbanje.

Prolazite kroz retke tablice s VBA.xlsm

11 metoda s VBA za kretanje kroz retke tablice u Excelu

Slijedeći ovaj odjeljak, naučit ćete kako prolaziti kroz retke tablice pomoću 11 različitih metoda, kao što je prolazak kroz retke do prazne ćelije, prolazak kroz retke dok se ne pronađe određena vrijednost, prolazak kroz retke i bojanje određene ćelije itd. s VBA makronaredbom u Excelu.

Iznad je primjer skupa podataka koji će ovaj članak slijediti kako bi opisao metode.

1. Ugradite VBA za prolazak kroz svaku ćeliju u svakom retku tablice prema referentnom broju ćelije

Ako želite proći kroz svaku ćeliju u svakom retku tablice u svom Excel radnom listu i uzmite referentni broj ćelije kao povratnu vrijednost , zatim slijedite korake navedene u nastavku.

Koraci:

  • Na početku , pritisnite Alt + F11 na tipkovnici ili iditevarijabla.
5939

Ovaj dio koda je ovdje za kretanje kroz retke od 1 do 15. Ako pronađe određenu riječ “ Edge ” tada boji ćeliju koja sadrži tu riječ. Nastavlja to činiti sve dok ne završi skeniranje svih podataka od redaka 1 do 15 u traženju riječi.

Pročitajte više: Kako koristiti VLOOKUP tablični niz na temelju Vrijednost ćelije u Excelu

Slična očitanja

  • Postoji li funkcija TABLE u Excelu?
  • Kako pretvoriti tablicu u popis u Excelu (3 brza načina)
  • Pretvoriti raspon u tablicu u Excelu (5 jednostavnih metoda)
  • Učinkovito koristite formulu u Excel tablici (s 4 primjera)
  • Naziv Excel tablice: Sve što trebate znati

7. Implementirajte VBA za prolazak kroz svaki red i bojanje svakog neparnog retka u Excelu

Iz prethodnog odjeljka naučili smo kako obojiti ćeliju koja nosi određenu vrijednost. U ovom odjeljku naučit ćemo kako proći kroz svaki redak tablice i obojiti svaki neparni redak s VBA makronaredbom u Excelu.

Koraci za izvršenje procesa opisani su u nastavku.

Koraci:

  • Kao što je prikazano prije, otvorite Visual Basic Editor iz Developer karticu i Umetnite Modul u prozor koda.
  • Zatim, kopirajte sljedeći kod i zalijepite ga u prozor koda.
4865

Vaš kod je sada spreman za izvođenje.

  • Sada, Pokrenite makronaredbu i pogledajte sljedeću sliku da biste vidjeli izlaz.

Svi neparni redovi su obojeni nakon prolaska kroz sve retke koji se nalaze u tablici radnog lista.

Objašnjenje VBA koda

7256

Definirajte varijablu.

6964

Definirajte raspon s kojim ćemo raditi.

1604

Ovaj dio koda odnosi se na ponavljanje kroz sve retke, počevši od sljedećeg retka trenutnog retka, B4 . Ako je mod dijeljenja brojeva redaka s 2 jednak vraćenom broju retka pohranjenom u cjelobrojnom tipu, tada ovaj kod boji sve retke koji su izdvojeni izračunom s Indeksom boja navedenim u kodu. Nastavlja se kretati kroz sve retke dok ne dođe do kraja raspona.

8. Implementirajte VBA za kretanje kroz retke i bojanje svakog parnog retka u Excelu

U prethodnom odjeljku naučili smo kako obojiti svaki neparni redak tablice. U ovom odjeljku naučit ćemo kako proći kroz svaki redak tablice i obojiti svaki parni redak s VBA makronaredbom u Excelu.

Koraci za izvršenje procesa opisani su u nastavku.

Koraci:

  • Prvo otvorite Visual Basic Editor s kartice Developer i Insert Modul u prozor koda.
  • Zatim, kopirajte sljedeći kod i zalijepite ga u prozor koda.
3763

Vaš kod je sada spreman zapokreni.

  • Dalje, pokreni makronaredbu i pogledaj sljedeću sliku da vidiš rezultat.

Svi parni redovi su obojeni nakon što se prođe kroz sve retke koji se nalaze u tablici radnog lista.

Objašnjenje VBA koda

1805

Definirajte varijablu.

1489

Definirajte raspon s kojim ćemo raditi.

8524

Ovaj dio koda počinje ponavljati nakon tri retka iz trenutnog retka, B4 . Prvo ga boji, a zatim povećava broj redaka za 2 i nastavlja ga bojati dok ne dođe do posljednjeg reda skupa podataka.

9. Primijenite makronaredbu za ponavljanje redaka do prazne ćelije u Excelu

Ako želite da vaš kod radi kao da će proći kroz sve retke tablice i zaustaviti se kada dođe do prazne ćelije , onda je ovaj odjeljak za vas. Taj zadatak možete izvršiti i pomoću FOR petlje i Do-Until petlje u programu Excel VBA .

9.1. S petljom FOR

Koraci za petlju kroz retke u tablici do prazne ćelije s petljom FOR u VBA Excelu navedeni su u nastavku.

Koraci:

  • Prvo otvorite Visual Basic Editor s kartice Developer i Insert Modul u prozor koda.
  • Nakon toga, kopirajte sljedeći kod i zalijepite ga u prozor koda.
6447

Vaš kod je sada spreman za izvođenje.

  • Zatim, Pokrenite makronaredbe, a rezultat je prikazan u gifu ispod.

Nakon pokretanja makronaredbe, počeo je prolaziti kroz sve retke u tablici i kada je stigao do prazne ćelije, ćelije B8 , zaustavio je iteraciju .

Objašnjenje VBA koda

5571

Definirajte varijablu.

8613

Isključite događaj ažuriranja zaslona.

8088

Pohranite sve retke počevši od ćelije B4 do posljednjeg.

4844

Odaberite ćeliju B4 .

7332

Ovaj dio koda počinje kružiti kroz sve retke. Kada pronađe praznu ćeliju u retku, odabire je i nastavlja skenirati retke dok ne dođe do kraja.

1187

Uključite događaj ažuriranja zaslona.

9.2. S Do-Until petljom

U nastavku su navedeni koraci za prolaženje kroz redove do prazne ćelije s Do-Until petljom u VBA .

Koraci:

  • Prvo otvorite Visual Basic Editor s kartice Developer i Umetnite Modul u prozor koda.
  • Zatim, kopirajte sljedeći kod i zalijepite ga u prozor koda.
7595

Vaš kod je sada spreman za izvođenje.

  • Kasnije, Pokrenite makro. Rezultat je prikazan na sljedećem gifu.

Nakon pokretanja makronaredbe, počela je pretraživati ​​sve retke u tablici i jednom dosegla je praznu ćeliju, ćeliju B8 , zaustavila je iteraciju .

VBA kodObjašnjenje

7446

Odaberite ćeliju iz koje ćemo raditi.

6383

Počinje i nastavlja s petljom dok se ne pronađe prazna ćelija.

3086

Kada je prazna ćelija pronađen u nizu, zatim ga odaberite i zaustavite ponavljanje.

10. VBA makronaredba za ponavljanje kroz retke do više praznih ćelija u Excelu

U prethodnom ste odjeljku naučili kako zaustaviti petlju kada se pronađe prazna ćelija. Ali što ako ne želite zaustaviti ponavljanje dok se ne pronađe više praznih ćelija umjesto samo jedne.

Koraci za kruženje kroz retke dok se u tablici ne pronađe više praznih ćelija s VBA Excel prikazani su u nastavku.

Koraci:

  • Prvo otvorite Visual Basic Editor iz Kartica Razvojni programer i Umetnite Modul u prozor koda.
  • Zatim, kopirajte sljedeći kod i zalijepite ga u prozor koda.
3460

Vaš kod je sada spreman za izvođenje.

  • Sada, Pokrenite makronaredbu i pogledajte sljedeći gif za izlaz.

Nakon pokretanja makronaredbe, nije se zaustavio na prva prazna ćelija, ćelija B8 . Zaustavio se kada je pronašao dvije uzastopne prazne ćelije na ćeliji B16 .

Objašnjenje VBA koda

9860

Odaberite ćeliju iz koje ćemo raditi.

9279

Počinje i nastavlja s petljom dok se ne pronađu dvije uzastopne prazne ćelije.

9693

Kada se nađu dvije uzastopne prazne ćelije,odaberite ga i zaustavite ponavljanje.

11. Ugradite VBA za prolazak kroz retke ulančavanjem svih stupaca dok ne ostanete prazni u Excelu

Ovaj odjeljak će vam pokazati kako proći kroz sve retke u tablici i ulančati sve stupce do prazne ćelije se nalazi s VBA Excelom.

Naučimo kako to učiniti s VBA makronaredbom u Excelu.

Koraci:

  • Prvo otvorite Visual Basic Editor s kartice Developer i Umetnite Modul u prozor koda.
  • Zatim, kopirajte sljedeći kod i zalijepite ga u prozor koda.
4182

Vaš kod sada je spreman za pokretanje.

  • Kasnije, Pokrenite makronaredbu i pogledajte sljedeći gif za rezultat.

Kao što možete vidjeti iz gornjeg gifa, postoji skočni prozor MsgBox koji vam prikazuje povezanu vrijednost svih stupaca koji se nalaze u svakom redak iz tablice vašeg Excel radnog lista. Ali zaustavio se kada je došao do prazne ćelije .

Objašnjenje VBA koda

3286

Definirajte varijable.

4742

Postavite naziv lista s kojim ćemo raditi (“ ConcatenatingAllColUntilBlank ” je naziv lista u radnoj knjizi).

8430

Definirajte raspon s kojim ćemo raditi.

3889

Ovaj dio koda pokreće petlju s nizom. Nastavlja s petljom dok ne vrati najveći indeks niza i donju granicuprva dimenzija. Zatim ulazi u iteraciju izdvajanja donje granice druge dimenzije. Nakon toga prosljeđuje sve ekstrahirane vrijednosti u varijablu iResult spajajući ih i bacajući rezultat u MsgBox. Nastavlja to činiti sve dok ne pronađe praznu ćeliju.

Zaključak

Za kraj, ovaj vam je članak pokazao 11 učinkovitih metoda za kruženje redova tablice u Excelu s VBA makronaredbom . Nadam se da vam je ovaj članak bio od velike koristi. Slobodno postavite sva pitanja u vezi s temom.

na karticu Razvojni programer -> Visual Basicza otvaranje Visual Basic Editor.

  • Dalje, u skočnom prozoru koda, iz traka izbornika, kliknite Umetni -> Modul .

  • Zatim, kopirajte sljedeći kod i zalijepite ga u kod prozor.
9931

Vaš kod je sada spreman za izvođenje.

  • Sada pritisnite F5 na svom tipkovnice ili na traci izbornika odaberite Pokreni -> Pokrenite Sub/UserForm . Također možete samo kliknuti na malu ikonu Play u traci podizbornika da biste pokrenuli makro.

  • Ili da vizualno svjedočite i usporedite skup podataka i rezultat, možete spremiti kod i vratiti se na radni list koji vas zanima.
  • Odatle možete kliknuti Makronaredbe na kartici Programer , odaberite naziv makronaredbe, a zatim kliknite Pokreni .

Nakon uspješnog izvođenja koda, pogledajte gornji gif kako biste vidjeli rezultat. Pojavit će se skočni prozor MsgBox koji će vam pokazati referentni broj ćelije svake ćelije iz svakog retka iz tablice na vašem Excel listu.

Objašnjenje VBA koda

1824

Za dobivanje zadnjeg broja retka u tablici pretraživanjem stupca B.

7217

Postavite broj retka 4, odakle počinju naši podaci.

4710

Za petlju od prvog retka.

3521

Postavite stupac broj 2, odakle počinju naši podaci.

7360

Počnite s petljom kroz retke da biste dobili posljednjibroj stupca procjenom trenutnog retka do zadnjeg retka.

6224

Petlja povećanja stupca od prvog retka do zadnjeg retka.

3109

Ovaj dio koda radi na obradi, povećava se nakon svakog iteracija i prikaz rezultata koda.

Pročitajte više: Kako automatski dodati novi redak u Excel tablicu

2 . Implementirajte VBA za prolazak kroz svaku ćeliju u svakom retku prema vrijednosti

Ako želite proći kroz svaku ćeliju u svakom retku tablice i izbaciti vrijednost koja se nalazi u ćelijama kao povratnu vrijednost , onda će vam ovaj odjeljak pomoći da shvatite kako to učiniti s VBA Excelom.

To možete učiniti s ListObject i s DataBodyRange svojstvo VBA . Pokazat ćemo vam makro kod s objektom i svojstvom.

2.1. S ListObject

Koraci za prolaženje kroz svaku ćeliju u svakom retku tablice prema vrijednosti ćelije s ListObject u VBA Excelu navedeni su u nastavku.

Koraci:

  • Na isti način kao prije, otvorite Visual Basic Editor s kartice Developer i Umetnite Modul u prozor koda.
  • Zatim, u prozor koda, kopirajte sljedeći kod i zalijepite to.
5214

Vaš kod je sada spreman za izvođenje.

  • Nakon toga, Pokrenite makro kao što smo vam pokazali u gornjem odjeljku. Rezultat je prikazan na gifuispod.

Pojavit će se skočni prozor MsgBox koji će vam pokazati vrijednost koju nosi svaka ćelija iz svakog retka iz tablice u vašem Excel listu.

Objašnjenje VBA koda

9371

Definirajte varijable.

5698

Ovaj dio koda prvo počinje kružiti kroz retke u tablici (“ TblStudents ” je naziv naše tablice). Zatim unosi stupce za svaki redak. Nakon toga proslijedite vrijednost ćelije u MsgBox. Zatim idite na sljedeći stupac. Nakon završetka iteracije kroz sve stupce jednog retka, prelazi se na sljedeći red i nastavlja proces iteracije do posljednjeg retka.

2.2. Sa svojstvom DataBodyRange

Da biste bili precizniji s ekstrahiranim podacima iz tablice, možete upotrijebiti svojstvo DataBodyRange ListObject . Svojstvo DataBodyRange izbacit će vam rezultat koji sadrži raspon s popisa između retka zaglavlja i retka za umetanje.

Koraci kako možete proći kroz svaku ćeliju u svakom retku tablice prema vrijednosti ćelije s DataBodyRange u VBA Excelu dati su u nastavku.

Koraci:

  • Kao što je prikazano prije toga otvorite Visual Basic Editor s kartice Developer i Umetnite Modul u prozor koda.
  • Zatim , kopirajte sljedeći kod i zalijepite ga u prozor koda.
1561

Vaš kod je sada spreman za izvođenje.

  • Kasnije, Pokrenite makronaredbu i pogledajte sljedeći gif kako biste vidjeli izlaz.

Pojavit će se skočni prozor MsgBox prikazujući vam vrijednost koju nosi svaka ćelija iz svakog retka iz tablice na vašem Excel listu.

Objašnjenje VBA koda

2212

Definirajte varijablu.

4457

Ovaj dio koda prvo počinje kružiti redovima u tablici (“ TblStdnt ” je naziv naše tablice) i vraća niz vrijednosti isključujući redak zaglavlja tablice. Zatim proslijedite vrijednost raspona u MsgBox. Zatim ide u sljedeći red kako bi izdvojio raspon i nastavlja proces ponavljanja do posljednjeg retka.

3. Primijenite VBA makronaredbu za iteraciju kroz retke ulančavanjem stupaca u Excelu

Ovaj odjeljak će pokazati kako proći kroz retke u tablici ulančavanjem stupaca s prvim stupcem iz vašeg skupa podataka u Excelu.

Na primjer, za naš skup podataka, prvo ćemo iterirati kroz John u ćeliji B5 i 101 u ćeliji C5 spajajući ih, a zatim iterirati kroz John u ćeliji B5 i 89 u ćeliji D5 spajajući ih iz reda 5 .

Dopustite nam da vam pokažemo kako to možete učiniti s VBA makro u Excelu.

Koraci:

  • Prvo otvorite Visual Basic Editor iz Razvojni programer karticu i Umetnite Modul u prozor koda.
  • Drugo, u prozor koda, kopirajte sljedeće kodiratii zalijepite to.
8725

Vaš kôd je sada spreman za izvođenje.

  • Treće, Pokreni makro. Pogledajte gif ispod kako biste vidjeli rezultat.

Pojavit će se skočni prozor MsgBox koji će vam pokazati spojenu vrijednost ćelija iz prvog i drugog stupca ( John u ćeliji B5 iz stupca B i 101 u ćeliji C5 iz stupca C ), a zatim spojene vrijednosti ćelija iz prvog i trećeg stupca ( John u ćeliji B5 iz stupca B i 89 u ćeliji D5 iz stupca D ) retka broj 5 iz vašeg skupa podataka. I ova operacija ulančavanja će se nastaviti sve dok ne dođe do posljednjeg reda tablice.

Objašnjenje VBA koda

4955

Definirajte varijablu.

1837

Tada kod odabire tablicu s aktivnog lista (“ TblConcatenate ” u našem nazivu tablice).

4888

Nakon toga, počinje ponavljanje svakog retka isključujući zaglavlje stupac. Ako iteracija pronađe podudaranje u rasponu između zaglavlja stupca i redaka, tada pohranjuje vrijednost u iValue varijablu.

5997

Ako se gornji uvjet ne ispuni, tada kod baca vrijednost u MsgBox i završava uvjet. Nakon toga prelazi na petlju u drugom rasponu i nastavlja s ponavljanjem do zadnjeg retka. Kada dođe do završnog retka, makronaredba završava izvršavanje koda.

4. Ugradite makronaredbu za ponavljanjekroz retke spajanjem svih stupaca u tablici u Excelu

U ovom odjeljku naučit ćemo kako spojiti sve stupce koje svaki redak sadrži u skupu podataka s VBA makro u Excelu.

Koraci za izvršenje koji su prikazani u nastavku.

Koraci:

  • Prvo otvorite Visual Basic Editor s kartice Developer i Umetnite Modul u prozor koda.
  • Zatim, kopirajte sljedeći kod i zalijepite ga u prozor koda.
8640

Vaš kod je sada spreman za izvođenje.

  • Dalje, pokrenite makro kod.

Kao što možete vidjeti iz gornjeg gifa, postoji skočni prozor MsgBox koji vam prikazuje spojenu vrijednost svih stupaca koji se nalaze u svakom retku iz tablice vašeg Excel radnog lista.

Objašnjenje VBA koda

3517

Definirajte varijable.

6670

Postavite naziv lista s kojim ćemo raditi (“ ConcatenatingAllCol ” je naziv lista u radnoj bilježnici).

2665

De odredi naziv tablice s kojom ćemo raditi (“ TblConcatenateAll ” je naziv tablice u našem skupu podataka).

2523

Pokreće iteraciju kroz svaki redak tablice.

8259

Pokreće iteraciju kroz svaki stupac svakog retka tablice.

4272

Pohrani rezultat presijecanjem vrijednosti koje svaki stupac svakog retka nosi. Nakon skeniranja svih stupaca koji se nalaze u svakom retku, prošao jerezultirati u MsgBox. Zatim ponovno počinje s petljom u sljedećem retku i nastavlja s petljom dok ne dođe do posljednjeg retka tablice.

Pročitajte više: Kako sortirati više stupaca tablice s Excel VBA (2 metode)

5. Zaustavi ponavljanje ako je vrijednost pronađena petljom kroz retke tablice s VBA makronaredbom

Pretpostavimo da želite proći kroz retke vaše tablice i zaustaviti petlju kada pronađe određenu vrijednost . To možete učiniti pomoću jednostavnog makro koda.

Naučimo kako to učiniti VBA u Excelu.

Koraci:

  • Prvo otvorite Visual Basic Editor s kartice Developer i Umetnite Modul u prozor koda.
  • Zatim, u prozoru koda, kopirajte sljedeći kod i zalijepite ga.
3830

Vaš je kod sada spreman za izvođenje .

  • Kasnije, Pokrenite makro.
  • On će pokrenuti petlju i zaustaviti je kada pronalazi određenu vrijednost (“ Edge ”) u rasponu i baca rezultat u MsgBox .

Kao što možete vidjeti na gornjoj slici, postoji skočni MsgBox koji vam prikazuje adresu ćelije, $B$10 , gdje smo pronašli navedenu vrijednost, Edge .

Objašnjenje VBA koda

6852

Definirajte varijabla.

3610

Ovaj dio koda je ovdje za kretanje kroz retke od 1 do 15. Ako pronađe određenu riječ“ Edge ” tada prosljeđuje rezultat s adresom ćelije koja sadrži riječ. To nastavlja činiti sve dok ne završi skeniranje svih podataka od redaka 1 do 15 u potrazi za riječju.

Pročitajte više: Kako umetnuti ili izbrisati retke i stupce iz Excel tablice

6. VBA za prolazak kroz svaki red i bojanje određene vrijednosti u Excelu

Što ako ne želite ubaciti adresu ćelije navedene vrijednosti u MsgBox? Možda biste željeli obojiti ćeliju koja nosi vrijednost koju tražite.

Naučimo kako to učiniti pomoću VBA makronaredbe.

Koraci:

  • Na isti način kao prije, otvorite Visual Basic Editor s kartice Developer i Insert Modul u prozor koda.
  • Zatim, kopirajte sljedeći kod i zalijepite ga u prozor koda.
7030

Vaš kod je sada spreman za izvođenje.

  • Nakon toga, Pokrenite makro.
  • Pokrenut će petlju i zaustaviti je kada pronađe određenu vrijednost (“ Edge ”) u rasponu i obojiti ćeliju s ColourIndex koji ste naveli u kodu.

Kao što možete vidjeti na gornjoj slici, C ell B10 , gdje smo pronašli navedenu vrijednost, Edge ” je obojen nakon izvršenja koda.

Objašnjenje VBA koda

5377

Definirajte

Hugh West vrlo je iskusan Excel trener i analitičar s više od 10 godina iskustva u industriji. Diplomirao je računovodstvo i financije te magistrirao poslovno upravljanje. Hugh ima strast za podučavanjem i razvio je jedinstveni pristup podučavanju koji je lako pratiti i razumjeti. Njegovo stručno poznavanje programa Excel pomoglo je tisućama studenata i profesionalaca diljem svijeta da poboljšaju svoje vještine i postignu uspjeh u karijeri. Putem svog bloga, Hugh dijeli svoje znanje sa svijetom, nudeći besplatne vodiče za Excel i online obuku kako bi pomogao pojedincima i tvrtkama da dostignu svoj puni potencijal.