Pole vyhlásenia VBA Ako deklarovať polia vo VBA?

Pole vyhlásenia VBA programu Excel

Deklarácia poľa vo VBA je veľmi podobná deklarácii premenných, ktorá sa vykonáva rovnakým príkazom dim alebo statickým verejným alebo súkromným vyhlásením, jediný rozdiel vo vyhlásení poľa a vyhlásení premennej je, že pri vyhlásení poľa musíme poskytnúť veľkosť. poľa, ktoré je hornou hranicou poľa a spodnou hranicou poľa.

V kóde VBA môžeme deklarovať jediné pole premenných, ktoré môže obsahovať počet premenných namiesto toho, aby deklarovalo jednotlivé premenné. To môže pomôcť znížiť počet riadkov v kóde.

Pole je druh premennej, ktorá môže obsahovať viac ako jednu hodnotu, na rozdiel od bežných premenných, ktoré môžu obsahovať iba jednu hodnotu súčasne. Pole je pokročilou verziou deklarovania premenných vo VBA. Napríklad si predstavte situáciu, že chcete premenným priradiť 5 mien študentov. Vo všeobecnej praxi deklarujeme päť premenných pre všetkých päť premenných, ktorým priraďujeme jednotlivé mená študentov jeden po druhom; nižšie je ukážkový kód toho istého.

Kód:

Sub Array_Example () Dim Student1 Ako String Dim Student2 Ako String Dim Student3 Ako String Dim Student4 Ako String Dim Student5 Ako String End Sub

Namiesto toho, aby ste deklarovali toľko premenných, čo tak myšlienka deklarovať jedno pole premenných, ktoré môže obsahovať všetky mená študentov.

Áno, je to možné deklarovaním poľa vo VBA.

Príklady

Príklad č

Na deklarovanie nemusíme robiť nijaké špeciálne kódovanie VBA. Musíme sa skôr riadiť jednoduchými konceptmi.

Najskôr spustite podproces.

Kód:

Sub Array_Example () End Sub

Teraz, ako obvykle, deklarujte premennú ako reťazec.

Kód:

Sub Array_Example () Dim Student ako String End Sub

Po deklarácii premennej sa teraz uistite, koľko hodnôt by mala obsahovať. V tomto prípade chcem uložiť päť mien študentov, takže teraz musíme opraviť veľkosť poľa, tj 1 až 5. To isté zadajte do premennej v zátvorkách.

Kód:

Sub Array_Example () Dim Student (1 až 5) ako reťazec End Sub

Teraz pre túto jedinú premennú môžeme uložiť 5 mien študentov.

Kód:

Sub Array_Example () Dim Student (1 až 5) As String Student (1) = "John" Student (2) = "Peter" Student (3) = "Ricky" Student (4) = "Michael" Student (5) = „Anderson“ End Sub

Pozrite sa, koľko riadkov sme zmenšili deklarovaním premennej ako poľa. Toto je jeden zo spôsobov, ako to urobiť. Tento kód môžeme ešte skrátiť tak, že ho uzavrieme do slučiek vo VBA.

Teraz napríklad päť rovnakých mien, ktoré mám v bunkách pracovného hárka

Teraz chcem tieto čísla zobraziť v schránke správ vo VBA; ok, deklarujme ešte jednu premennú pre slučky ako dátový typ Integer.

Kód:

Sub Array_Example () Dim Student (1 až 5) As String Dim K As Integer End Sub

Ako obvykle som si ponechal premennú poľa ako 1 až 5 veľkostí.

Teraz otvorte slučku FOR NEXT vo VBA a keďže máme päť mien, zadajte limit ako 1 až 5.

Kód:

Sub Array_Example () Dim Student (1 až 5) As String Dim K As Integer For K = 1 To 5 Next K End Sub

Ak chcete priradiť hodnoty k premennej poľa, nemusíme nasledovať predchádzajúci spôsob zobrazovania premennej „k“ študenta (1), študenta (2) takto pre čísla polohy zásobovacích slučiek.

Kód:

Sub Array_Example () Dim Student (1 až 5) As String Dim K as Integer For K = 1 To 5 Student (K) = Next K End Sub

Pre túto premennú poľa potrebujeme hodnoty z pracovného hárka, takže pomocou vlastnosti CELLS získate hodnoty z pracovného hárka.

Kód:

Sub Array_Example () Dim Student (1 až 5) As String Dim K As Integer For K = 1 To 5 Student (K) = Cells (K, 1). Value Next K End Sub

Teraz prostredníctvom okna správy ukážte hodnotu premennej poľa.

Kód:

Sub Array_Example () Dim Student (1 až 5) As String Dim K As Integer For K = 1 To 5 Student (K) = Cells (K, 1). Value MsgBox Student (K) Next K End Sub

Teraz spustite kód. V okne so správou uvidíme krstné meno. Opätovným stlačením tlačidla Ok zobrazíte druhé meno. Stlačením klávesu Ok môžeme vidieť všetkých päť mien.

Príklad č. 2 - Dvojrozmerné polia

We have seen above how the array works, now we will see to dimensional arrays. Two-dimensional arrays concentrate on both rows and columns.

In the above example, we have determined the array’s size as 1 to 5; this either concentrates on rows or columns.

By using two-dimensional arrays, we can concentrate on both rows and columns. For this, we need to enclose two loops.

First, define the variable then late we will decide about the size of the array.

Code:

Sub Two_Array_Example() Dim Student As String End Sub

First, decide row size then decide the column length.

Code:

Sub Two_Array_Example() Dim Student(1 To 5, 1 To 3) As String End Sub

For this, I have structured the data for student names, marks, and grade status.

Now come back to the coding window.

Declare two more variables for a loop.

Code:

Sub Two_Array_Example () Dim Student (1 To 5, 1 To 3) As String Dim K As Integer, J As Integer End Sub

Teraz uzatvorte slučku, ako je to znázornené nižšie.

Kód:

Sub Two_Array_Example () Dim Student (1 To 5, 1 To 3) As String Dim k As Integer, J As Integer For k = 1 To 5 For J = 1 To 3 Worksheets ("Student List"). Select Student (k, J) = Bunky (k, J). Pracovné listy s hodnotami („Kopírovať hárok“). Vyberte bunky (k, J). Hodnota = Študent (k, J) Ďalej J Ďalej k Koniec Sub

Toto urobí tak, že skopíruje údaje z hárka „Zoznam študentov“ a vloží ich do „kopírovať hárok“.

Na čo treba pamätať

  • Pole je rozsiahly koncept; toto je iba úvodná časť.
  • Aby ste pochopili deklaráciu poľa, potrebujete pokročilé znalosti kódovania.
  • Čím viac budete vo svojom kóde používať polia, tým viac si na to zvyknete.

Zaujímavé články...