Polja VBA v Excelu - Kako delati s funkcijo nizov v VBA?

V VBA se matrike uporabljajo za skupno definiranje skupine predmetov, v VBA je devet različnih funkcij matrike, in sicer ARRAY, ERASE, FILTER, ISARRAY, JOIN, LBOUND, REDIM, SPLIT in UBOUND, vse to so vgrajene funkcije za matriko v VBA nam funkcija Array daje vrednost za dani argument.

Funkcija matrike Excel VBA

Funkcija matrike je zbirka vrednosti v eni spremenljivki. Podprogramu v VBA, funkcijah in lastnostih lahko ponudimo matriko. Polji VBA so ena od pogosto uporabljenih tehnik za shranjevanje več kot ene vrednosti v spremenljivko.

Primeri funkcije matrike Excel VBA

Namesto da bi deklarirali veliko spremenljivk in shranili vrednosti, lahko z matriko Excel VBA shranimo vrednost v samo eno spremenljivko. Na primer, poglejte spodnji primer

Koda:

Sub Array_Ex () Dim x As Integer Dim y As Integer x = 1 y = 2 Range ("A1"). Value = x Range ("A2"). Value = y End Sub

V zgornjem primeru sem razglasil dve spremenljivki, imenovani x & y. X drži 1 kot vrednost, Y pa 2 kot vrednost.

Zdaj si oglejte primer funkcije matrike Excel VBA z eno spremenljivko.

Koda:

Sub Array_Ex () Dim x (1 do 2) kot celoštevilčni obseg ("A1"). Vrednost = x (1) Obseg ("A2"). Value = x (2) End Sub

Če zaženete to kodo VBA, bi imeli vrednosti v celicah A1 in A2.

Spremenljivke matrike so rezultat vrnile kot nič. To je zato, ker smo spremenljivke pravkar razglasili za dve, vendar tem spremenljivkam nismo dodelili nobenih vrednosti. Torej moramo tem spremenljivkam dodeliti vrednosti.

Koda:

Sub Array_Ex () Dim x (1 do 2) Kot Integer x (1) = 10 x (2) = 20 Range ("A1"). Value = x (1) Range ("A2"). Value = x (2 ) End Sub

Zdaj zaženite kodo, da dobite rezultate.

Preden v celice vnesemo vrednosti spremenljivk matrike, moramo dodeliti vrednost tistim deklariranim spremenljivkam matrike, kot smo dodelili spremenljivke x (1) = 10 in x (2) = 20.

Primer # 1 - Vstavite serijske številke s pomočjo statične matrike

Oglejmo si primer uporabe statičnega polja za vstavljanje serijskih številk. To je podobno prejšnjemu.

Koda:

Sub StaticArray_Ex () Dim x (1 do 5) Kot celo število x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Razpon ("A1"). Vrednost = x (1) obseg ("A2"). Vrednost = x (2) obseg ("A3"). Vrednost = x (3) obseg ("A4"). Vrednost = x (4) obseg ("A5" ) .Vrednost = x (5) End Sub

Zdaj zaženite to kodo, da vstavite serijske številke.

2. primer - Vstavite serijske številke z uporabo dinamičnega polja

Zdaj bomo videli drugo vrsto matrike, tj. Dinamično matriko

Koda:

Sub DynamicArray_Ex () Dim x () Kot Integer ReDim x (5) x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Obseg ("A1" ) .Vrednost = x (1) obseg ("A2"). Vrednost = x (2) obseg ("A3"). Vrednost = x (3) obseg ("A4"). Vrednost = x (4) obseg (" A5 "). Vrednost = x (5) Konec Sub

Zdaj zaženite to kodo, da dobite rezultat serijskih številk. Dobimo enak rezultat kot prejšnji.

Če opazite, da med deklariranjem spremenljivke nismo navedli dolžine polja, smo z uporabo funkcije VBA Redim dodelili zadnjo vrednost matrike VBA. Redim vsebuje zadnjo vrednost polja, ki ga je treba posredovati.

3. primer - Ustvari funkcijo Vstavi imena mesecev z uporabo polja

Videli smo, kako delati z nizi v VBA. Zdaj bomo videli, kako delati z matriko za ustvarjanje funkcije VBA v Excelu. Funkcija ni nič drugega kot uporabniško določena funkcija v VBA. Poleg uporabe vgrajenih funkcij nam Excel VBA omogoča tudi ustvarjanje lastnih funkcij.

Koda:

Function List_Of_Months () List_Of_Months = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov "," Dec ") Končna funkcija

Spodnja koda bo ustvarila funkcijo, ki lahko na naš excel list vstavi mesece.

Kopirajte in prilepite spodnjo kodo v svoj modul.

Zdaj shranite to kodo in zaprite urejevalnik VBA. Po zaprtju urejevalnika VBA pojdite na delovni list in vnesite formulo, ki smo jo pravkar ustvarili, in na svojem delovnem listu bi morali videti formulo z imenom List_Of_Months .

Odprite formulo in pritisnite Enter. Dobili bomo ime prvega meseca, tj. Jan.

Če formulo vstavite še enkrat, bomo še vedno dobili samo Jan, ne pa naslednji mesec, februar. Torej najprej izberite 12 stolpcev v eni vrstici.

Zdaj odprite formulo v celici D1.

Ker smo formulo ustvarili z matriko, moramo formule zapreti samo kot matrično formulo. Držite torej Ctrl + Shift + Enter. Imeli bi vsa 12-mesečna imena.

Stvari, ki si jih je treba zapomniti

  • Na voljo sta še dve vrsti matrike, tj. Dvodimenzionalno polje in večdimenzionalno polje.
  • Polja se začnejo od 0 in ne od 1. Zero pomeni prvo vrstico in prvi stolpec.
  • Matrika je velika tema. Za napredovanje na naslednjo stopnjo ga morate razumeti.
  • Spremenljivka polja bo tista, ki vsebuje veliko podatkov vsakič, ko preide na naslednjo stopnjo.
  • Redim se uporablja za shranjevanje zadnje dolžine polja v dinamičnem tipu polja.

Zanimive Članki...