VBA-ryhmän koko - Vaiheittainen opas esimerkkien avulla

Tässä artikkelissa annamme vaiheittaisen oppaan taulukon koon löytämiseksi VBA-koodin avulla.

Kuinka löytää taulukon koko VBA-koodilla?

Seuraa taulukon kokoa Excel VBA -koodin avulla.

  • Vaihe 1: Aloitetaan ensin perusasetuksesta, julistetaan muuttuja VBA: ssa muunnostietotyypiksi.

Koodi:

Sub Array_Size () Dim MyArray vaihtoehtona End Sub
  • Vaihe 2: Käytä tälle muuttujalle ARRAY-toimintoa ja määritä joitain arvoja alla esitetyllä tavalla.

Koodi:

Sub Array_Size () Dim MyArray Vaihtoehtona MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") End Sub
  • Vaihe 3: Ok, olemme määrittäneet joitain arvoja taulukon nimelle "MyArray".

Oletetaan, että jos meidän on kirjoitettava silmukka näiden taulukon arvojen tallentamiseksi soluihin, meidän on päätettävä, kuinka monta kertaa silmukan on suoritettava. Tämä riippuu matriisin arvojen määrästä.

Ok, katso nyt taulukon nimelle "MyArray" annettujen arvojen lukumäärä, taulukkoon on määritetty yhteensä 7 arvoa, joten nyt tiedämme, kuinka monta kertaa silmukka on suoritettava taulukon arvojen tallentamiseksi soluihin .

  • Vaihe 4: Ilmoita toinen muuttuja kokonaislukuna FOR-silmukan kirjoittamiseen VBA: ssa.

Koodi:

Sub Array_Size () Dim MyArray Vaihtoehtona MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k kokonaislukuna k = 1-7 Seuraava k End Sub
  • Vaihe 5: Siellä mennään, olemme avanneet FOR-silmukan alkaen 1: stä 7: een, kirjoittamalla silmukan sisään CELLS-ominaisuus tallennettavaksi alla olevan kuvan mukaisesti.

Koodi:

Sub Array_Size () Dim MyArray Vaihtoehtona MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k kokonaislukuna k = 1-7 Solut (k, 1). Arvo = MyArray (k) Seuraava k End Sub
  • Vaihe 6: Ok, suorita nyt koodirivi riviltä painamalla F8-toimintonäppäintä. Kun F8-näppäintä painetaan ensimmäisen kerran, se käynnistää makron.
  • Vaihe 7: Paina F8, nyt se siirtyy taulukon arvon osoittavalle riville.
  • Vaihe 8: Taulukon nimessä "MyArray" ei ole arvoja, paina F8, ja kaikki mainitut arvot osoitetaan taulukon muuttujalle.
  • Vaihe 9: Nyt silmukka alkaa toimia ja paina F8-näppäintä kaksi kertaa ja katso, minkä arvon saamme solussa A1.
  • Oho!!! Pidä kiinni, ensimmäinen arvo taulukon muuttujassa on “Jan”, mutta olemme saaneet tuloksen toisena arvona “Feb”, kun ensimmäinen arvosilmukka on vielä käynnissä.
  • Vaihe 10: Tämä johtuu siitä, että kun matriisiarvojesi määrä alkaa nollasta, ei 1: stä, joten meidän on sisällytettävä aloituspiiri nollana.
  • Vaihe 11: Kun silmukan alkuasemaa on vähennetty yhdellä samalla tavalla, myös loppua tulisi laskea yhdellä, joten tee loppu 6: ksi 7: n sijasta.
  • Vaihe 12: Kun silmukan aloitus ja lopetus on päättänyt vielä yhden säätämisen, ts. CELLS-ominaisuudessa olemme käyttäneet k-muuttujaa dynaamisena solunvalitsimena, mutta koska silmukka alkaa nollasta, ei ole yhtään solua, joka alkaa nollasta , joten lisää plus 1 muuttujaan “k”.

Koodi:

Sub Array_Size () Dim MyArray Vaihtoehtona MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k kokonaislukuna k = 0-6 Solut (k + 1, 1). Arvo = MyArray (k) Seuraava k End Sub
  • Vaihe 13: Joten nyt suoritettaessa silmukan ensimmäistä kertaa "k" -arvo on nolla, ja koska olemme lisänneet plus 1, "k" -arvo on 1, mikä viittaa soluun A1.
  • Vaihe 14: Suorita nyt koodi, ja kaikki matriisin arvot tallennetaan soluihin.

Tässä tapauksessa olemme kuitenkin päättäneet silmukan aloitus- ja lopetuskoon manuaalisesti, mutta taulukon koko voidaan määrittää helposti LBOUND & UBOUND -toiminnoilla.

Etsi taulukon koko automaattisesti

  • Vaihe 1: Kun olemme sisällyttäneet silmukan aloitus- ja päättymiskohdan yllä olevaan, olemme laskeneet manuaalisesti niiden arvojen määrän, jotka matriisilla on, mutta matriisin käynnistämiseksi käytä LBOUND-toimintoa ja tälle passille "MyArray" -muuttujanimeä.
  • Vaihe 2: Ja viimeisen taulukon koon määrittämiseksi käytä UBOUND-toimintoa ja kirjoita taulukon nimi “MyArray”.

Koodi:

Sub Array_Size () Dim MyArray Vaihtoehtona MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k kokonaislukuna k = Lboubd (MyArray) ) UBound (MyArray) -soluihin (k + 1, 1). Arvo = MyArray (k) Seuraava k End Sub
  • Vaihe 3: Aloita nyt rivi rivikoodilla ja paina F8-näppäintä, kunnes se saavuttaa silmukan aloituskohdan.
  • Vaihe 4: Aseta ensin kohdistin ensin kohtaan "LBound (MyArray)" ja katso, mitä siinä sanotaan.
  • Vaihe 5: Aloituspisteen numero on nolla, aseta nyt kohdistin kohtaan "UBound (MyArray)" ja katso mitä se sanoo.

Siinä sanotaan, että matriisin koko on 6, joten kuten UBUND ja LBOUND valitsevat numerot automaattisesti, kuten olemme maininneet alkamisen ja lopettamisen manuaalisesti.

Mielenkiintoisia artikkeleita...