Excelin VBA-taulukot: Mikä on, kuinka käyttää ja taulukoiden tyypit VBA:ssa

Mikä on VBA Array?

Taulukko määritellään muistipaikaksi, joka pystyy tallentamaan useamman kuin yhden arvon. Kaikkien arvojen on oltava samaa tietotyyppiä. Oletetaan, että haluat tallentaa luettelon suosikkijuomistasi yhteen muuttujaan. Voit tehdä sen VBA-taulukon avulla.

Taulukkoa käyttämällä voit viitata vastaaviin arvoihin samalla nimellä. Voit erottaa ne toisistaan ​​hakemiston tai alaindeksin avulla. Yksittäisiin arvoihin viitataan Excelin VBA-taulukon elementteinä. Ne ovat vierekkäisiä indeksistä 0 korkeimpaan indeksin arvoon.

Tämä opetusohjelma olettaa, että käytät Microsoft kunnostautua versio 2013. Tieto pätee edelleen myös muihin versioihin Microsoft Excel samoin.

Mitkä ovat taulukoiden edut?

Seuraavassa on joitain VBA-taulukkofunktion tarjoamia etuja

  1. Ryhmittele loogisesti toisiinsa liittyvät tiedot yhteen – oletetaan, että haluat tallentaa luettelon opiskelijoista. Voit käyttää yhtä taulukkomuuttujaa, jossa on erilliset sijainnit opiskelijaluokille, kuten lastentarha, alakoulu, lukio, lukio jne.
  2. Taulukot tekevät ylläpidettävän koodin kirjoittamisesta helppoa. Samoille loogisesti liittyville tiedoille sen avulla voit määrittää yhden muuttujan sen sijaan, että määrittäisit useamman kuin yhden muuttujan.
  3. Parempi suorituskyky – kun taulukko on määritetty, tietojen hakeminen, lajittelu ja muokkaaminen on nopeampaa.

VBA:n taulukoiden tyypit

VBA tukee kahta tyyppiä, nimittäin;

  • Staattinen – Tämän tyyppisissä taulukoissa on kiinteä ennalta määrätty määrä elementtejä, jotka voidaan tallentaa. Staattisen taulukon tietotyypin kokoa ei voi muuttaa. Nämä ovat hyödyllisiä, kun haluat työskennellä tunnettujen kokonaisuuksien, kuten viikonpäivien lukumäärän, sukupuolen jne., kanssa.Esimerkin: Dim ArrayMonth(12) As String
  • Dynaaminen – Tämän tyyppisissä taulukoissa ei ole kiinteää ennalta määrättyä määrää elementtejä, jotka voidaan tallentaa. Nämä ovat hyödyllisiä, kun työskentelet kokonaisuuksien kanssa, joiden lukumäärää et voi määrittää etukäteen.Esimerkin: Dim ArrayMonth() Varianttina

Syntaksi taulukoiden ilmoittamiseen

Staattiset taulukot

Ilmoituksen syntaksi STAATTINEN taulukot ovat seuraavat:

Dim arrayName (n) as datatype

TÄSSÄ,

Koodi Toiminta
Himmeä arrayName (n) -tietotyyppi
  1. Se ilmoittaa taulukkomuuttujan nimeltä arrayName, jonka koko on n ja tietotyyppi. Koko viittaa elementtien määrään, jonka taulukko voi tallentaa.

Dynaamiset taulukot

Ilmoituksen syntaksi DYNAAMINEN taulukot ovat seuraavat:

Dim arrayName() as datatype
ReDim arrayName(4)

TÄSSÄ,

Koodi Toiminta
Himmeä arrayName () -tietotyyppi
  1. Se ilmoittaa taulukkomuuttujan nimeltä arrayName määrittelemättä elementtien määrää
Redim arrayName(4)
  1. Se määrittää taulukon koon sen jälkeen, kun taulukko on määritetty.

Array Mitat

Taulukko voi olla yksiulotteinen, kaksiulotteinen tai moniulotteinen.

  • Yksi ulottuvuus: Tässä ulottuvuudessa taulukko käyttää vain yhtä indeksiä. Esimerkiksi joukko ihmisiä eri ikäisistä.
  • Kaksi ulottuvuutta: Tässä ulottuvuudessa taulukko käyttää kahta indeksiä. Esimerkiksi jokaisella luokalla on useita oppilaita. Se vaatii luokkien lukumäärän ja opiskelijamäärän jokaisessa luokassa
  • Moniulotteinen: Tässä ulottuvuudessa taulukko käyttää useampaa kuin kahta indeksiä. Esimerkiksi lämpötilat päiväsaikaan. ( 30, 40, 20).

Arrayn käyttäminen Excel VBA:ssa

Luomme yksinkertaisen sovelluksen. Tämä sovellus täyttää Excel-taulukon taulukkomuuttujan tiedoilla. Tässä VBA Array -esimerkissä aiomme tehdä seuraavat asiat.

  • Luoda uusi Microsoft Excel-työkirja ja tallenna se Excel-makrokäyttöisenä työkirjana (*.xlsm)
  • Lisää komentopainike työkirjaan
  • Aseta komentopainikkeen nimi ja kuvatekstiominaisuudet
  • Excel-taulukon täyttävän VBA:n ohjelmointi

Tee tämä harjoitus askel askeleelta,

Vaihe 1 – Luo uusi työkirja

  1. avoin Microsoft kunnostautua
  2. Tallenna uusi työkirja nimellä VBA Arrays.xlsm

Vaihe 2 – Lisää komentopainike

Huomautus: Tässä osiossa oletetaan, että tunnet käyttöliittymän luomisprosessin Excelissä. Jos et ole tuttu, lue opetusohjelma VBA Excel Form Control & ActiveX Control. Se näyttää sinulle, kuinka käyttöliittymä luodaan

  1. Lisää komentopainike arkkiin

Käytä Arraya Excel VBA:ssa

  1. Aseta nimiominaisuuden arvoksi cmdLoadBeverages
  2. Aseta kuvateksti-ominaisuuden arvoksi Load Beverages

GUI:si pitäisi nyt olla seuraava

Käytä Arraya Excel VBA:ssa

Vaihe 3 – Tallenna tiedosto

  1. Napsauta Tallenna nimellä -painiketta
  2. Valitse Excel-makrokäyttöinen työkirja (*.xlsm) alla olevan kuvan mukaisesti

Käytä Arraya Excel VBA:ssa

Vaihe 4 – Kirjoita koodi

Kirjoitamme nyt sovelluksemme koodin

  1. Napsauta hiiren kakkospainikkeella Lataa juomat -painiketta ja valitse Näytä koodi
  2. Lisää seuraava koodi cmdLoadBeveragen napsautustapahtumaan
Private Sub cmdLoadBeverages_Click()
    Dim Drinks(1 To 4) As String
     
    Drinks(1) = "Pepsi"
    Drinks(2) = "Coke"
    Drinks(3) = "Fanta"
    Drinks(4) = "Juice"
     
    Sheet1.Cells(1, 1).Value = "My Favorite Beverages"
    Sheet1.Cells(2, 1).Value = Drinks(1)
    Sheet1.Cells(3, 1).Value = Drinks(2)
    Sheet1.Cells(4, 1).Value = Drinks(3)
    Sheet1.Cells(5, 1).Value = Drinks(4)
End Sub

TÄSSÄ,

Koodi Toiminta
Dim Drinks (1 - 4) merkkijonona
  • Se ilmoittaa taulukkomuuttujan nimeltä Drinks. Ensimmäinen taulukkoindeksi on 1 ja viimeinen taulukkoindeksi on 4.
Juomat (1) = "Pepsi"
  • Määrittää arvon Pepsi ensimmäiselle taulukon elementille. Toinen samanlainen koodi tekee saman taulukon muille elementeille.
Sheet1.Cells(1, 1).Arvo = "Suosikkijuomat."
  • Kirjoittaa arvon My Favourite Beverages soluosoitteeseen A1. Sheet1 viittaa taulukkoon ja solut(1,1) viittaa riviin 1 ja sarakkeeseen 1 (B)
Taulukko1.Solut(2, 1).Arvo = Juomat(1)
  • Kirjoittaa indeksillä 1 olevan taulukkoelementin arvon sarakkeen 1 riville numero kaksi

Testaamme sovellustamme

Valitse kehittäjä-välilehti ja varmista, että Suunnittelutila-painike on pois päältä. Ilmaisin on, että siinä on valkoinen tausta eikä värillinen (vihreä) tausta. (Katso kuva alla)

Sovelluksen testaus Excel VBA:ssa

Napsauta Lataa juomat -painiketta

Saat seuraavat tulokset

Sovelluksen testaus Excel VBA:ssa

Lataa Excel, joka sisältää yllä olevan koodin

Lataa yllä oleva Excel-koodi

Yhteenveto

  1. Taulukko on muuttuja, joka pystyy tallentamaan useamman kuin yhden arvon
  2. Excel VBA tukee staattisia ja dynaamisia taulukoita
  3. Taulukot tekevät ylläpidettävän koodin kirjoittamisesta helppoa verrattuna monien muuttujien ilmoittamiseen loogisesti toisiinsa liittyville tiedoille.