Excel VBA nizovi: Što je, kako koristiti & Vrste nizova u VBA

Sadržaj:

Anonim

Š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

  1. 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.
  2. 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.
  3. 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)
  1. Deklarira varijablu niza koja se naziva arrayName veličine n i tipa podataka. Veličina se odnosi na broj elemenata koje niz može pohraniti.

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 ()
  1. Deklarira varijablu niza koja se naziva arrayName bez navođenja broja elemenata
ReDimNaj polja (4)
  1. Određuje veličinu polja nakon što je niz definiran.

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

  1. Otvorite Microsoft Excel
  2. 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

  1. Na list dodajte naredbeni gumb
  1. Postavite svojstvo imena na cmdLoadBeverages
  2. Postavite svojstvo opisa na Učitavanje pića

Vaš GUI sada bi trebao biti sljedeći

Korak 3 - Spremite datoteku

  1. Kliknite gumb Spremi kao
  2. 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

  1. Desnom tipkom miša kliknite gumb Učitaj napitke i odaberite prikaz koda
  2. 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

  • Deklarira varijablu niza koja se naziva Drinks. Prvi indeks niza je 1, a zadnji indeks niza 4.

Piće (1) = "Pepsi"

  • Prvom elementu niza dodjeljuje vrijednost Pepsi. Drugi sličan kod čini isto za ostale elemente niza.

List1.Cells (1, 1) .Value = "Moja omiljena pića."

  • Zapisuje vrijednost Moja omiljena pića u adresu ćelije A1. List1 upućuje na list, a Ćelije (1,1) upućuju na redak broj 1 i stupac 1 (B)

List 1.Selije (2, 1) .Vrijednost = piće (1)

  • Zapisuje vrijednost elementa niza s indeksom 1 u red broj dva stupca 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

  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 održivog koda u usporedbi s deklariranjem puno varijabli za podatke koji su logički povezani.