Excel VBA polja: Kaj je, kako uporabljati & Vrste nizov v VBA

Kazalo:

Anonim

Kaj je VBA Array?

Matrika je definirana kot pomnilniška lokacija, ki lahko shrani več kot eno vrednost. Vse vrednosti morajo biti istega podatkovnega tipa. Recimo, da želite shraniti seznam svojih najljubših pijač v eno spremenljivko, za to lahko uporabite polje VBA.

Z uporabo matrike se lahko na iste vrednosti sklicujete z istim imenom. Za ločevanje jih lahko uporabite indeks ali indeks. Posamezne vrednosti so navedene kot elementi matrike Excel VBA. So sosednji od indeksa 0 do najvišje vrednosti indeksa.

Ta vadnica predvideva, da uporabljate Microsoft Excel različice 2013. Znanje še vedno velja tudi za druge različice programa Microsoft Excel.

V tej vadnici programiranja VBA boste izvedeli -

  • Kakšne so prednosti nizov?
  • Vrste nizov v VBA
  • Kako uporabljati Array v Excelu VBA
  • Testiranje naše aplikacije

Kakšne so prednosti nizov?

Sledi nekaj prednosti, ki jih ponuja funkcija matrike VBA

  1. Skupite logično povezane podatke - recimo, da želite shraniti seznam študentov. Uporabite lahko eno spremenljivko polja, ki ima ločene lokacije za kategorije študentov, npr. Vrt, osnovnošolsko, srednješolsko, srednješolsko itd.
  2. Polja olajšajo pisanje vzdrževalne kode. Za iste logično povezane podatke vam omogoča, da definirate eno spremenljivko, namesto da definirate več kot eno spremenljivko.
  3. Boljša zmogljivost - ko je matrika definirana, je hitreje pridobiti, razvrstiti in spremeniti podatke.

Vrste nizov v VBA

VBA podpira dve vrsti nizov in sicer;

  • Statična - te vrste nizov imajo določeno vnaprej določeno število elementov, ki jih je mogoče shraniti. Velikosti podatkovnega tipa statičnega polja ni mogoče spremeniti. Te so uporabne, če želite delati z znanimi entitetami, kot so število dni v tednu, spol itd.

    Na primer : Dim ArrayMonth (12) kot niz

  • Dinamično - te vrste nizov nimajo vnaprej določenega števila elementov, ki jih je mogoče shraniti. Ti so uporabni pri delu z entitetami, ki jih ne morete vnaprej določiti.

    Na primer : Dim ArrayMonth () kot varianta

Sintaksa za deklariranje nizov

Statična polja

Sintaksa za razglasitev STATIČNIH nizov je naslednja:

Dim arrayName (n) as datatype

TUKAJ,

Koda Ukrepanje
Dim podatkovni tip arrayName (n)
  1. Deklarira spremenljivko polja z imenom arrayName z velikostjo n in tipom podatkov. Velikost se nanaša na število elementov, ki jih lahko matrika shrani.

Dinamični nizi

Sintaksa za deklariranje DYNAMIC nizov je naslednja:

Dim arrayName() as datatypeReDim arrayName(4)

TUKAJ,

Koda Ukrepanje
Dim podatkovni tip arrayName ()
  1. Deklarira spremenljivko polja, imenovano arrayName, ne da bi določil število elementov
ReDim arrayName (4)
  1. Določi velikost polja po opredelitvi polja.

Dimenzije matrike

Matrika je lahko ena dimenzija, dve dimenziji ali večdimenzionalnost.

  • Ena dimenzija : V tej dimenziji polje uporablja samo en indeks. Na primer, število ljudi vsake starosti.
  • Dve dimenziji : V tej dimenziji matrika uporablja dva indeksa. Na primer, število učencev v vsakem razredu. Zahteva število razredov in število študentov v vsakem razredu
  • Večrazsežnost : v tej dimenziji polje uporablja več kot dva indeksa. Na primer temperature podnevi. (30, 40, 20).

Kako uporabljati Array v Excelu VBA

Ustvarili bomo preprosto aplikacijo. Ta aplikacija zapolni Excelov list s podatki iz spremenljivke polja. V tem primeru VBA polja bomo naredili naslednje stvari.

  • Ustvarite nov delovni zvezek Microsoft Excel in ga shranite kot Excelov delovni zvezek (* .xlsm)
  • V delovni zvezek dodajte ukazni gumb
  • Nastavite lastnosti imena in napisov ukaznega gumba
  • Programiranje VBA, ki zapolni Excelov list

Naredite to vajo korak za korakom,

1. korak - ustvarite nov delovni zvezek

  1. Odprite Microsoft Excel
  2. Shranite nov delovni zvezek kot VBA Arrays.xlsm

2. korak - dodajte ukazni gumb

Opomba: V tem razdelku se domneva, da poznate postopek ustvarjanja vmesnika v Excelu. Če niste seznanjeni, preberite vadnico VBA Excel Form Control & ActiveX Control. Pokazalo vam bo, kako ustvarite vmesnik

  1. Na list dodajte ukazni gumb
  1. Lastnost imena nastavite na cmdLoadBeverage
  2. Lastnost napisa nastavite na Nalaganje pijač

Vaš GUI bi moral biti naslednji

3. korak - shranite datoteko

  1. Kliknite gumb Shrani kot
  2. Izberite Excelov delovni zvezek (* .xlsm), kot je prikazano na spodnji sliki

4. korak - Napišite kodo

Zdaj bomo napisali kodo za našo prijavo

  1. Z desno miškino tipko kliknite gumb Naloži pijače in izberite kodo pogleda
  2. V dogodek klika cmdLoadBeverage dodajte naslednjo kodo
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

TUKAJ,

Koda

Ukrepanje

Dim pijače (1 do 4) kot niz

  • Deklarira spremenljivko polja z imenom Drinks. Prvi indeks polja je 1, zadnji indeks polja pa 4.

Pijače (1) = "Pepsi"

  • Prvemu elementu matrike dodeli vrednost Pepsi. Druga podobna koda naredi enako za ostale elemente v matriki.

List1.Cells (1, 1) .Value = "Moje najljubše pijače."

  • V naslov celice A1 zapiše vrednost Moji najljubši napitki. List1 se sklicuje na list, Celice (1,1) pa na vrstico številka 1 in stolpec 1 (B)

List 1. Celice (2, 1). Vrednost = Pijače (1)

  • Zapiše vrednost elementa matrike z indeksom 1 v vrstico številka dve stolpca 1

Testiranje naše aplikacije

Izberite zavihek za razvijalce in se prepričajte, da je gumb za način oblikovanja izklopljen. Kazalnik je, da bo imel belo ozadje in ne barvnega (zelenkastega) ozadja. (Glej sliko spodaj)

Kliknite gumb Naloži pijače

Dobili boste naslednje rezultate

Prenesite Excel, ki vsebuje zgornjo kodo

Prenesite zgornjo kodo Excel

Povzetek

  1. Matrika je spremenljivka, ki lahko shrani več kot eno vrednost
  2. Excel VBA podpira statične in dinamične nize
  3. Polji olajšajo pisanje kode, ki jo je mogoče vzdrževati, v primerjavi z razglasitvijo veliko spremenljivk za podatke, ki so logično povezani.