VBA-taulukot Excelissä Kuinka työskennellä matriisitoiminnon kanssa VBA: ssa?

Sisällysluettelo

VBA: ssa matriiseja käytetään objektiryhmän määrittelemiseen yhdessä, VBA: ssa on yhdeksän erilaista matriisitoimintoa ja ne ovat ARRAY, ERASE, FILTER, ISARRAY, JOIN, LBOUND, REDIM, SPLIT ja UBOUND, kaikki nämä ovat sisäänrakennettuja toimintoja matriisiin VBA: ssa Array-funktio antaa meille arvon annetulle argumentille.

Excel VBA -taulukko-toiminto

Matriisifunktio on arvojen kokoelma yhdessä muuttujassa. Voimme toimittaa matriisin alirutiinille VBA: ssa, Funktiot ja Ominaisuudet. VBA-matriisit ovat yksi usein käytetyistä tekniikoista useamman kuin yhden arvon tallentamiseksi muuttujaan.

Esimerkkejä Excel VBA Array -toiminnosta

Sen sijaan, että ilmoittaisimme useita muuttujia ja tallentaisimme arvoja, voimme käyttää Excel VBA -taulukkoa arvon tallentamiseen yhteen muuttujaan. Katso esimerkiksi alla olevaa esimerkkiä

Koodi:

Alaryhmä_Ex () Dim x kokonaislukuna Dim y As kokonaisluku x = 1 y = 2 Alue ("A1"). Arvo = x Alue ("A2"). Arvo = y End Sub

Yllä olevassa esimerkissä olen ilmoittanut kaksi muuttujaa nimeltä x & y. X pitää arvona 1 ja Y arvona 2.

Katsokaa nyt Excel VBA -ryhmäfunktioesimerkkiä yhdellä muuttujalla.

Koodi:

Alaryhmä_Ex () Dim x (1-2) kokonaislukuna ("A1"). Arvo = x (1) Alue ("A2"). Arvo = x (2) End Sub

Jos suoritat tämän VBA-koodin, meillä olisi arvot soluissa A1 ja A2.

Matriisimuuttujat palauttivat tuloksen nollaksi. Tämä johtuu siitä, että olemme juuri ilmoittaneet muuttujat kahtena, mutta emme ole määrittäneet arvoja näille muuttujille. Joten meidän on annettava arvot näille muuttujille.

Koodi:

Osa-alue_Ex () Dim x (1-2) kokonaislukuna x (1) = 10 x (2) = 20 Alue ("A1"). Arvo = x (1) Alue ("A2"). Arvo = x (2) ) Lopeta ala

Suorita nyt koodi saadaksesi tuloksia.

Ennen kuin syötämme matriisimuuttujien arvot soluille, meidän on määritettävä arvo ilmoitetuille taulukon muuttujille samalla tavalla kuin annamme muuttujat x (1) = 10 & x (2) = 20.

Esimerkki # 1 - Lisää sarjanumerot staattisen taulukon avulla

Katsotaanpa esimerkkiä staattisen taulukon käytöstä sarjanumeroiden lisäämiseen. Tämä on paljon kuin edellinen.

Koodi:

Sub StaticArray_Ex () Dim x (1-5) kokonaislukuna x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Alue ("A1"). Arvo = x (1) Alue ("A2"). Arvo = x (2) Alue ("A3"). Arvo = x (3) Alue ("A4"). Arvo = x (4) Alue ("A5" Arvo = x (5) Loppuosa

Suorita nyt tämä koodi lisätäksesi sarjanumerot.

Esimerkki # 2 - Lisää sarjanumerot dynaamisen taulukon avulla

Nyt näemme toisen tyyppisen taulukon eli dynaamisen taulukon

Koodi:

Sub DynamicArray_Ex () Dim x () kokonaislukuna ReDim x (5) x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Alue ("A1") Arvo = x (1) Alue ("A2"). Arvo = x (2) Alue ("A3"). Arvo = x (3) Alue ("A4"). Arvo = x (4) Alue (" A5 "). Arvo = x (5) Loppuosa

Suorita nyt tämä koodi saadaksesi sarjanumeroiden tuloksen. Saamme saman tuloksen kuin edellinen.

Jos huomaat, ettemme ole toimittaneet taulukon pituutta muuttujaa ilmoittaessamme, sen sijaan olemme osoittaneet VBA-taulukon viimeisen arvon käyttämällä VBA Redim -toimintoa. Redim pitää taulukon viimeisen välitettävän arvon.

Esimerkki # 3 - Luo toiminto Lisää kuukausien nimet taulukon avulla

Olemme nähneet kuinka työskennellä matriisien kanssa VBA: ssa. Nyt näemme, miten taulukon kanssa voidaan luoda VBA-toiminto Excelissä. Toiminto ei ole muuta kuin käyttäjän määrittelemä toiminto VBA: ssa. Sisäisten toimintojen lisäksi Excel VBA antaa meille mahdollisuuden luoda myös omia toimintoja.

Koodi:

Funktioluettelo_Kuukaudet () List_Of_Months = Taulukko ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov "," Dec ") Lopeta toiminto

Alla oleva koodi luo toiminnon, joka voi lisätä kuukausia excel-taulukkoomme.

Kopioi ja liitä alla oleva koodi moduuliin.

Tallenna nyt tämä koodi ja sulje VBA-editori. Kun olet sulkenut VBA-editorin, siirry laskentataulukkoon ja kirjoita juuri luomamme kaava, ja sinun pitäisi nähdä laskentataulukossa kaava nimeltä List_Of_Months .

Avaa kaava ja paina Enter. Saamme ensimmäisen kuukauden nimen eli tammikuun.

Jos lisäät kaavan vielä kerran, saamme silti vain Janin, ei ensi kuussa, helmikuussa. Valitse ensin 12 saraketta yhdeltä riviltä.

Avaa nyt kaava D1-solussa.

Koska olemme luoneet kaavan matriisilla, meidän on suljettava kaavat vain matriisikaavana. Joten pidä Ctrl + Vaihto + Enter. Meillä olisi kaikki 12 kuukauden nimet.

Muistettavaa

  • Saatavilla on vielä kaksi ryhmätyyppiä, eli kaksiulotteinen taulukko ja moniulotteinen taulukko.
  • Taulukot alkavat 0: sta, eivät 1: stä. Nolla tarkoittaa ensimmäistä riviä ja ensimmäistä saraketta.
  • Matriisi on iso aihe. Sinun täytyy ymmärtää se edetä seuraavalle tasolle.
  • Matriisimuuttuja on sellainen, joka sisältää paljon tietoa joka kerta, kun se siirtyy seuraavalle tasolle.
  • Redimiä käytetään matriisin viimeisen pituuden tallentamiseen dynaamiseen taulukotyyppiin.

Mielenkiintoisia artikkeleita...