Excel VBA nizovi: Što je, kako koristiti i vrste nizova u VBA

Što je VBA polje?

Niz je definiran kao memorijska lokacija koja može pohraniti više od jedne vrijednosti. Sve vrijednosti moraju biti iste vrste podataka. Recimo da želite pohraniti popis svojih omiljenih pića u jednu varijablu, za to možete koristiti VBA polje.

Korištenjem niza, možete se pozivati ​​na povezane vrijednosti pod istim imenom. Možete koristiti indeks ili indeks da ih razlikujete. Pojedinačne vrijednosti nazivaju se elementima Excel VBA polja. Oni su susjedni od indeksa 0 do najviše vrijednosti indeksa.

Ovaj vodič pretpostavlja da koristite Microsoft nadmašiti verzija 2013. Znanje se i dalje odnosi na druge verzije Microsoft Excel također.

Koje su prednosti nizova?

Slijede neke od prednosti koje nudi VBA funkcija polja

  1. Grupirajte logički povezane podatke zajedno – recimo da želite pohraniti popis učenika. Možete koristiti jednu varijablu niza koja ima odvojene lokacije za kategorije učenika, npr. vrtić, osnovna, srednja škola, srednja škola itd.
  2. Nizovi olakšavaju pisanje koda koji se može održavati. Za iste logički povezane podatke, omogućuje definiranje jedne varijable, umjesto definiranja više od jedne varijable.
  3. Bolja izvedba – nakon što je niz definiran, brže je dohvaćati, sortirati i mijenjati podatke.

Vrste nizova u VBA

VBA podržava dvije vrste nizova, naime;

  • statički – Ove vrste nizova imaju fiksni unaprijed određen broj elemenata koji se mogu pohraniti. Ne može se promijeniti veličina tipa podataka statičkog polja. Ovo je korisno kada želite raditi s poznatim entitetima kao što su broj dana u tjednu, spol itd.Na primjer: Dim ArrayMonth(12) Kao niz
  • Dinamičan – Ove vrste nizova nemaju fiksni unaprijed određen broj elemenata koji se mogu pohraniti. Ovo je korisno kada radite s entitetima čiji broj ne možete unaprijed odrediti.Na primjer: Dim ArrayMonth() kao varijanta

Sintaksa za deklariranje nizova

Statički nizovi

Sintaksa za deklariranje STATIČKI nizova je kako slijedi:

Dim arrayName (n) as datatype

OVDJE,

Kodirati Akcijski
Dim arrayName (n) tip podataka
  1. Deklarira varijablu polja pod nazivom arrayName s veličinom n i tipom podataka. Veličina se odnosi na broj elemenata koje niz može pohraniti.

Dinamički nizovi

Sintaksa za deklariranje DINAMIČAN nizova je kako slijedi:

Dim arrayName() as datatype
ReDim arrayName(4)

OVDJE,

Kodirati Akcijski
Vrsta podataka Dim arrayName ().
  1. Deklariše varijablu niza pod nazivom arrayName bez navođenja broja elemenata
ReDim arrayName(4)
  1. Određuje veličinu polja nakon što je polje definirano.

Dimenzije polja

Niz može biti jednodimenzionalan, dvodimenzionalan ili višedimenzionalan.

  • Jedna dimenzija: U ovoj dimenziji niz koristi samo jedan indeks. Na primjer, određeni broj ljudi svake dobi.
  • Dvije dimenzije: U ovoj dimenziji niz koristi dva indeksa. Na primjer, broj učenika u svakom razredu. Zahtijeva broj razreda i broj učenika u svakom razredu
  • Više dimenzija: U ovoj dimenziji niz koristi više od dva indeksa. Na primjer, temperature tijekom dana. (30, 40, 20).

Kako koristiti niz u programu Excel VBA

Napravit ćemo jednostavnu aplikaciju. Ova aplikacija popunjava Excel list podacima iz varijable niza. U ovom primjeru VBA niza, učinit ćemo sljedeće stvari.

  • Napravite novu Microsoft radnu knjigu programa Excel i spremite je kao radnu knjigu programa Excel s omogućenim makronaredbama (*.xlsm)
  • Dodajte naredbeni gumb u radnu knjigu
  • Postavite svojstva naziva i opisa naredbenog gumba
  • Programiranje VBA koji popunjava Excel list

Izvedite ovu vježbu korak po korak,

Korak 1 – Stvorite novu radnu knjigu

  1. Otvoren Microsoft nadmašiti
  2. Spremite novu radnu knjigu kao VBA Arrays.xlsm

Korak 2 – Dodajte naredbeni gumb

Bilješka: Ovaj odjeljak pretpostavlja da ste upoznati s procesom stvaranja sučelja u excelu. Ako niste upoznati, pročitajte tutorial VBA Excel kontrola obrasca i ActiveX kontrola. Pokazat će vam kako izraditi sučelje

  1. Dodajte naredbeni gumb na list

Koristite niz u programu Excel VBA

  1. Postavite svojstvo name na cmdLoadBeverages
  2. Postavite svojstvo naslova na Učitavanje pića

Vaše GUI bi sada trebalo biti kako slijedi

Koristite niz u programu Excel VBA

Korak 3 – Spremite datoteku

  1. Kliknite na gumb Spremi kao
  2. Odaberite Excel radnu knjigu s omogućenim makronaredbama (*.xlsm) kao što je prikazano na slici ispod

Koristite niz u programu Excel VBA

Korak 4 – Napišite kod

Sada ćemo napisati kod za našu aplikaciju

  1. Desnom tipkom miša kliknite gumb Učitaj pića i odaberite prikaz koda
  2. Dodajte sljedeći kod u događaj klika za cmdLoadBeverages
Private Sub cmdLoadBeverages_Click()
    Dim Drinks(1 To 4) As String
     
    Drinks(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 Drinks (1 do 4) kao niz
  • Deklarira niz varijabli pod nazivom Drinks. Indeks prvog niza je 1, a indeks posljednjeg niza je 4.
Piće(1) = “Pepsi”
  • Dodjeljuje vrijednost Pepsi prvom elementu niza. Drugi sličan kod čini isto za ostale elemente u nizu.
Sheet1.Cells(1, 1).Value = “Moja omiljena pića.”
  • Zapisuje vrijednost My Favorite Beverages u adresu ćelije A1. Sheet1 upućuje na list, a Cells(1,1) upućuje na red broj 1 i stupac 1 (B)
Sheet1.Cells(2, 1).Value = Drinks(1)
  • Zapisuje vrijednost elementa niza s indeksom 1 u red broj dva stupca 1

Testiranje naše aplikacije

Odaberite karticu za razvojne programere i provjerite je li gumb za način rada Dizajn "isključen". Indikator je da će imati bijelu pozadinu, a ne obojenu (zelenkastu) pozadinu. (Pogledajte sliku ispod)

Testiranje aplikacije u Excelu VBA

Pritisnite gumb Učitaj pića

Dobit ćete sljedeće rezultate

Testiranje aplikacije u Excelu VBA

Preuzmite Excel koji sadrži gornji kod

Preuzmite gornji Excel kod

Rezime

  1. Niz je varijabla koja može pohraniti više od jedne vrijednosti
  2. Excel VBA podržava statičke i dinamičke nizove
  3. Nizovi olakšavaju pisanje koda koji se može održavati u usporedbi s deklariranjem puno varijabli za podatke koji su logički povezani.