VBA nizovi u Excelu - Kako raditi s funkcijom nizova u VBA?

U VBA se nizovi koriste za zajedničko definiranje skupine objekata, u VBA postoji devet različitih funkcija niza, a to su ARRAY, ERASE, FILTER, ISARRAY, JOIN, LBOUND, REDIM, SPLIT i UBOUND, sve su to ugrađene funkcije za niz u VBA, funkcija Array daje nam vrijednost za zadani argument.

Funkcija Excel VBA polja

Funkcija niza je zbirka vrijednosti u jednoj varijabli. Možemo opskrbiti niz potprogramom u VBA, funkcijama i svojstvima. VBA nizovi jedna su od često korištenih tehnika za pohranu više od jedne vrijednosti u varijablu.

Primjeri funkcije Excel VBA Array

Umjesto deklariranja mnogih varijabli i pohrane vrijednosti, možemo koristiti Excel VBA niz za pohranu vrijednosti u samo jednu varijablu. Na primjer, pogledajte donji primjer

Kodirati:

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

U gornjem primjeru sam proglasio dvije varijable zvane x & y. X drži 1 kao vrijednost, a Y drži 2 kao vrijednost.

Sada, pogledajte primjer funkcije Excel VBA polja s jednom varijablom.

Kodirati:

Sub Array_Ex () Dim x (1 do 2) kao cjeloviti raspon ("A1"). Value = x (1) Range ("A2"). Value = x (2) End Sub

Sada, ako pokrenete ovaj VBA kôd, imat ćemo vrijednosti u ćelijama A1 i A2.

Varijable polja vratile su rezultat kao nulu. To je zato što smo upravo deklarirali varijable kao dvije, ali tim varijablama nismo dodijelili nikakve vrijednosti. Dakle, tim varijablama moramo dodijeliti vrijednosti.

Kodirati:

Sub Array_Ex () Dim x (1 do 2) Kao Integer x (1) = 10 x (2) = 20 Raspon ("A1"). Vrijednost = x (1) Raspon ("A2"). Vrijednost = x (2 ) Kraj Sub

Sada pokrenite kod da biste dobili rezultate.

Prije nego što unesemo vrijednosti varijabli polja u stanice, trebamo dodijeliti vrijednost onim deklariranim varijablama niza kao što smo dodijelili varijable x (1) = 10 & x (2) = 20.

Primjer # 1 - Umetanje serijskih brojeva pomoću statičkog niza

Pogledajmo primjer upotrebe statičkog niza za umetanje serijskih brojeva. Ovo je slično prethodnom.

Kodirati:

Sub StaticArray_Ex () Dim x (1 do 5) Kao cijeli broj x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 domet ("A1"). Vrijednost = x (1) Raspon ("A2"). Vrijednost = x (2) Raspon ("A3"). Vrijednost = x (3) Raspon ("A4"). Vrijednost = x (4) Raspon ("A5" ) .Vrijednost = x (5) Kraj Sub

Sada pokrenite ovaj kod da biste umetnuli serijske brojeve.

Primjer # 2 - Umetanje serijskih brojeva pomoću dinamičkog niza

Sada ćemo vidjeti drugu vrstu niza, tj. Dinamički niz

Kodirati:

Sub DynamicArray_Ex () Dim x () Kao Integer ReDim x (5) x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Raspon ("A1" ) .Vrijednost = x (1) Raspon ("A2"). Vrijednost = x (2) Raspon ("A3"). Vrijednost = x (3) Raspon ("A4"). Vrijednost = x (4) Raspon (" A5 "). Vrijednost = x (5) Kraj Sub

Sada pokrenite ovaj kod da biste dobili rezultat serijskih brojeva. Dobivamo isti rezultat kao i prethodni.

Ako primijetite da tijekom deklariranja varijable nismo naveli duljinu niza, dodijelili smo zadnju vrijednost VBA niza pomoću funkcije VBA Redim. Redim sadrži zadnju vrijednost niza koji treba proslijediti.

Primjer # 3 - Stvorite funkciju Umetanje imena mjeseca pomoću polja

Vidjeli smo kako raditi s nizovima u VBA-u. Sada ćemo vidjeti kako raditi s nizom za stvaranje VBA funkcije u Excelu. Funkcija nije ništa drugo doli korisnički definirana funkcija u VBA-u. Osim korištenja ugrađenih funkcija, excel VBA omogućuje nam i stvaranje vlastitih funkcija.

Kodirati:

Funkcija List_Of_Months () List_Of_Months = Niz ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov "," Dec ") Kraj funkcija

Kôd u nastavku stvorit će funkciju koja može umetnuti mjesece u naš excel list.

Kopirajte i zalijepite donji kod u svoj modul.

Sada spremite ovaj kôd i zatvorite VBA Editor. Nakon zatvaranja VBA uređivača, idite na radni list i upišite formulu koju smo upravo stvorili i na svom biste radnom listu trebali vidjeti formulu pod nazivom List_Of_Months .

Otvorite formulu i pritisnite Enter. Dobit ćemo ime prvog mjeseca, tj. Jan.

Ako još jednom umetnete formulu, ipak ćemo dobiti samo Jan, a ne sljedeći mjesec, veljača. Dakle, prvo odaberite 12 stupaca u jednom retku.

Sada otvorite formulu u ćeliji D1.

Budući da smo formulu stvorili s nizom, formule moramo zatvoriti samo kao formulu niza. Dakle, držite Ctrl + Shift + Enter. Imali bismo sva imena od 12 mjeseci.

Stvari koje treba zapamtiti

  • Dostupne su još dvije vrste polja, tj. Dvodimenzionalni niz i višedimenzionalni niz.
  • Nizovi počinju od 0, a ne od 1. Nula znači prvi redak i prvi stupac.
  • Niz je velika tema. Morate ga razumjeti da biste prešli na sljedeću razinu.
  • Varijabla polja bit će ona koja sadrži puno podataka svaki put kad pređe na sljedeću razinu.
  • Redim se koristi za spremanje posljednje duljine niza u dinamički tip niza.

Zanimljivi članci...