Excel VBA -taulukot: Mikä on, miten & Taulukotyypit VBA: ssa

Sisällysluettelo:

Anonim

Mikä on VBA-taulukko?

Matriisi määritellään muistipaikkana, joka pystyy tallentamaan useampaa kuin yhtä arvoa. Kaikkien arvojen on oltava samaa tietotyyppiä. Oletetaan, että haluat tallentaa suosikkijuomiesi luettelon yhteen muuttujaan, voit käyttää VBA-taulukkoa siihen.

Taulukon avulla voit viitata niihin liittyviin arvoihin samalla nimellä. Voit erottaa heidät hakemistosta tai alaindeksistä. Yksittäisiä arvoja kutsutaan Excel VBA -ryhmän elementeiksi. Ne ovat vierekkäisiä indeksistä 0 korkeimman indeksiarvon kautta.

Tässä opetusohjelmassa oletetaan, että käytät Microsoft Excel -versiota 2013. Tieto koskee edelleen myös muita Microsoft Excel -versioita.

Tässä VBA-ohjelmointioppaassa opit-

  • Mitkä ovat matriisien edut?
  • Taulukotyypit VBA: ssa
  • Arrayn käyttäminen Excel VBA: ssa
  • Testaamme sovellustamme

Mitkä ovat matriisien edut?

Seuraavassa on joitain VBA-matriisitoiminnon tarjoamista eduista

  1. Ryhmitä loogisesti liittyvät tiedot yhteen - oletetaan, että haluat tallentaa luettelon opiskelijoista. Voit käyttää yhtä matriisimuuttujaa, jolla on erilliset sijainnit oppilasluokille, esim. Kinder garden, peruskoulu, lukio, lukio jne.
  2. Taulukot helpottavat ylläpidettävän koodin kirjoittamista. Samoille loogisesti liittyville tiedoille se antaa sinun määrittää yhden muuttujan sen sijaan, että määritettäisiin useampi kuin yksi muuttuja.
  3. Parempi suorituskyky - kun taulukko on määritetty, tietoja on nopeampi hakea, lajitella ja muokata.

Taulukotyypit VBA: ssa

VBA tukee kahden tyyppisiä taulukoita:

  • Staattinen - Tämän tyyppisillä matriiseilla 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 tahojen kanssa, kuten viikon päivien lukumäärä, sukupuoli jne.

    Esimerkki : Dim ArrayMonth (12) merkkijonona

  • Dynaaminen - Tämän tyyppisillä matriiseilla ei ole kiinteää ennalta määritettyä määrää elementtejä, jotka voidaan tallentaa. Nämä ovat hyödyllisiä työskenneltäessä entiteettien kanssa, joita et voi määrittää ennalta.

    Esimerkiksi : Dim ArrayMonth () Varianttina

Syntaksi taulukoiden ilmoittamiseksi

Staattiset taulukot

STATIC- taulukoiden ilmoittamisen syntaksit ovat seuraavat:

Dim arrayName (n) as datatype

TÄSSÄ,

Koodi Toiminta
Dim arrayName (n) tietotyyppi
  1. Se julistaa arrayName-nimisen taulukon muuttujan, jonka koko on n ja tietotyyppi. Koko viittaa elementtien määrään, jotka matriisi voi tallentaa.

Dynaamiset taulukot

Syntaksi DYNAMIC- taulukoiden ilmoittamiseksi on seuraava:

Dim arrayName() as datatypeReDim arrayName(4)

TÄSSÄ,

Koodi Toiminta
Dim arrayName () -tietotyyppi
  1. Se ilmoittaa arrayName-nimisen taulukon muuttujan määrittelemättä elementtien lukumäärää
ReDim arrayName (4)
  1. Se määrittää matriisin koon taulukon määrityksen jälkeen.

Taulukon mitat

Matriisi voi olla yksi ulottuvuus, kaksi ulottuvuutta tai moniulotteinen.

  • Yksi ulottuvuus : Tässä dimensiossa taulukko käyttää vain yhtä hakemistoa. Esimerkiksi joukko ihmisiä jokaisessa iässä.
  • Kaksi ulottuvuutta : Tässä dimensiossa taulukko käyttää kahta hakemistoa. Esimerkiksi jokaisessa luokassa on useita opiskelijoita. Se vaatii luokkien lukumäärän ja opiskelijoiden määrän kussakin luokassa
  • Moniulotteisuus : Tässä dimensiossa taulukko käyttää enemmän kuin kahta hakemistoa. Esimerkiksi lämpötilat päivällä. (30, 40, 20).

Arrayn käyttäminen Excel VBA: ssa

Luomme yksinkertaisen sovelluksen. Tämä sovellus täyttää Excel-taulukon tietoja taulukon muuttujasta. Tässä VBA-taulukon esimerkissä aiomme tehdä seuraavia asioita.

  • Luo uusi Microsoft Excel -työkirja ja tallenna se Excel Macro-Enable Workbook (* .xlsm)
  • Lisää komentopainike työkirjaan
  • Aseta komentopainikkeen nimi ja tekstitysominaisuudet
  • Excel-taulukon täyttävän VBA: n ohjelmointi

Anna tämän harjoituksen askel askeleelta,

Vaihe 1 - Luo uusi työkirja

  1. Avaa Microsoft Excel
  2. Tallenna uusi työkirja nimellä VBA Arrays.xlsm

Vaihe 2 - Lisää komentopainike

Huomaa: Tässä osassa oletetaan, että olet perehtynyt käyttöliittymän luomiseen Excelissä. Jos et ole perehtynyt, lue opetusohjelma VBA Excel Form Control & ActiveX Control. Se näyttää kuinka luoda käyttöliittymä

  1. Lisää komentopainike taulukkoon
  1. Aseta nimiominaisuudeksi cmdLoadBeverages
  2. Aseta tekstitysominaisuudeksi Lataa juomat

GUI: n pitäisi nyt olla seuraava

Vaihe 3 - Tallenna tiedosto

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

Vaihe 4 - Kirjoita koodi

Kirjoitamme nyt sovelluksemme koodin

  1. Napsauta hiiren kakkospainikkeella Lataa juomat -painiketta ja valitse näkymäkoodi
  2. Lisää seuraava koodi cmdLoadBeverages-sovelluksen napsautustapahtumaan
Private Sub cmdLoadBeverages_Click()Dim Drinks(1 To 4) As StringDrinks(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

Hämärät juomat (1–4) merkkijonoina

  • Se julistaa taulukon muuttujan nimeltä Drinks. Ensimmäinen taulukkoindeksi on 1 ja viimeinen taulukkoindeksi 4.

Juomat (1) = "Pepsi"

  • Määrittää Pepsi-arvon ensimmäiselle taulukkoelementille. Toinen vastaava koodi tekee saman taulukon muille elementeille.

Sheet1.Cells (1, 1) .Value = "Suosikkijuomani."

  • Kirjoittaa arvon Oma suosikki juomat soluosoitteeseen A1. Taulukko1 viittaa arkkiin ja Solut (1,1) viittaa rivinumeroon 1 ja sarakkeeseen 1 (B)

Sheet1.Cells (2, 1). Arvo = juomat (1)

  • Kirjoittaa taulukkoelementin arvon indeksillä 1 sarakkeen 1 riville numero kaksi

Testaamme sovellustamme

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

Napsauta Lataa juomat -painiketta

Saat seuraavat tulokset

Lataa yllä oleva koodi sisältävä Excel

Lataa yllä oleva Excel-koodi

Yhteenveto

  1. Matriisi on muuttuja, joka pystyy tallentamaan useampaa kuin yhtä arvoa
  2. Excel VBA tukee staattisia ja dynaamisia taulukoita
  3. Matriisien avulla on helppo kirjoittaa ylläpidettävää koodia verrattuna siihen, että ilmoitetaan paljon muuttujia loogisesti liittyville tiedoille.