Što je VBA Array?
Niz je definiran kao memorijsko mjesto koje može pohraniti više od jedne vrijednosti. Vrijednosti moraju biti iste vrste podataka. Recimo da želite pohraniti popis svojih omiljenih pića u jednu varijablu, a za to možete koristiti VBA niz.
Korištenjem niza možete se pozvati na povezane vrijednosti pod istim imenom. Možete ih koristiti indeksom ili indeksom kako biste ih razlikovali. Pojedinačne vrijednosti nazivaju se elementima Excel VBA niza. Neposredni su od indeksa 0 do najviše vrijednosti indeksa.
Ovaj vodič pretpostavlja da koristite Microsoft Excel verziju 2013. Znanje se još uvijek odnosi i na druge verzije Microsoft Excela.
U ovom vodiču za programiranje VBA naučit ćete-
- Koje su prednosti nizova?
- Vrste nizova u VBA
- Kako koristiti Array u programu Excel VBA
- Testiranje naše prijave
Koje su prednosti nizova?
Slijede neke od prednosti koje nudi funkcija VBA niza
- Skupite logički povezane podatke - recimo da želite pohraniti popis učenika. Možete koristiti jednu varijablu niza koja ima odvojena mjesta za kategorije učenika, npr. Vrtić, osnovnu, srednju, srednju školu itd.
- Nizovi olakšavaju pisanje održivog koda. Za iste logički povezane podatke omogućuje vam definiranje jedne varijable, umjesto definiranja više od jedne varijable.
- Bolje performanse - jednom kad je niz definiran, brže je dohvatiti, razvrstati i izmijeniti podatke.
Vrste nizova u VBA
VBA podržava dvije vrste nizova, naime;
- Statički - ove vrste nizova imaju unaprijed utvrđeni broj elemenata koji se mogu pohraniti. Ne može se promijeniti veličina tipa podataka statičkog niza. Oni su korisni kada želite raditi s poznatim entitetima kao što su broj dana u tjednu, spol itd.
Na primjer : Dim ArrayMonth (12) kao niz
- Dinamički - ove vrste nizova nemaju fiksni unaprijed određeni broj elemenata koji se mogu pohraniti. Oni su korisni pri radu s entitetima kojima ne možete predodrediti broj.
Na primjer : Dim ArrayMonth () kao varijanta
Sintaksa za deklariranje nizova
Statički nizovi
Sintaksa za deklariranje STATIČKIH nizova je sljedeća:
Dim arrayName (n) as datatype
OVDJE,
Kodirati | Akcijski |
Dim tip arrayName (n) |
|
Dinamički nizovi
Sintaksa za deklariranje DINAMIČKIH nizova je sljedeća:
Dim arrayName() as datatypeReDim arrayName(4)
OVDJE,
Kodirati | Akcijski |
Zatamni tip podataka arrayName () |
|
ReDimNaj polja (4) |
|
Dimenzije niza
Niz može biti jedna dimenzija, dvije dimenzije ili višedimenzionalni.
- Jedna dimenzija : U ovoj dimenziji niz koristi samo jedan indeks. Primjerice, broj ljudi svake dobi.
- Dvije dimenzije : U ovoj dimenziji niz koristi dva indeksa. Na primjer, određeni broj učenika u svakom razredu. Potreban je broj razreda i broj učenika u svakom razredu
- Više dimenzija : U ovoj dimenziji niz koristi više od dva indeksa. Primjerice, temperature tijekom dana. (30, 40, 20).
Kako koristiti Array u programu Excel VBA
Stvorit ćemo jednostavnu aplikaciju. Ovaj program popunjava Excel list podacima iz varijable niza. U ovom primjeru VBA niza napravit ćemo sljedeće stvari.
- Izradite novu Microsoft Excel radnu knjigu i spremite je kao Excel s makronaredbom (* .xlsm)
- Dodajte naredbeni gumb u radnu knjigu
- Postavite svojstva imena i opisa naredbenog gumba
- Programiranje VBA-a koji popunjava Excel list
Obavite ovu vježbu korak po korak,
Korak 1 - Stvorite novu radnu knjigu
- Otvorite Microsoft Excel
- Spremite novu radnu knjigu kao VBA Arrays.xlsm
Korak 2 - dodajte naredbeni gumb
Napomena: Ovaj odjeljak pretpostavlja da ste upoznati s postupkom stvaranja sučelja u Excelu. Ako niste upoznati, pročitajte vodič VBA Excel Form Control & ActiveX Control. Pokazat će vam kako stvoriti sučelje
- Na list dodajte naredbeni gumb
- Postavite svojstvo imena na cmdLoadBeverages
- Postavite svojstvo opisa na Učitavanje pića
Vaš GUI sada bi trebao biti sljedeći
Korak 3 - Spremite datoteku
- Kliknite gumb Spremi kao
- Odaberite Excel Macro-Enabled Workbook (* .xlsm) kao što je prikazano na donjoj slici
Korak 4 - Napišite kod
Sada ćemo napisati kod za našu prijavu
- Desnom tipkom miša kliknite gumb Učitaj napitke i odaberite prikaz koda
- Dodajte sljedeći kôd u događaj klika cmdLoadBeverage
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
OVDJE,
Kodirati |
Akcijski |
Dim pića (1 do 4) kao niz |
|
Piće (1) = "Pepsi" |
|
List1.Cells (1, 1) .Value = "Moja omiljena pića." |
|
List 1.Selije (2, 1) .Vrijednost = piće (1) |
|
Testiranje naše prijave
Odaberite karticu programera i osigurajte da je gumb Mode dizajna "isključen". Pokazatelj je da će imati bijelu, a ne obojanu (zelenkastu) pozadinu. (Pogledajte sliku dolje)
Kliknite gumb Učitaj napitke
Dobit ćete sljedeće rezultate
Preuzmite Excel koji sadrži gornji kod
Preuzmite gornji Excel kod
Sažetak
- Niz je varijabla koja može pohraniti više od jedne vrijednosti
- Excel VBA podržava statičke i dinamičke nizove
- Nizovi olakšavaju pisanje održivog koda u usporedbi s deklariranjem puno varijabli za podatke koji su logički povezani.