VBA deklarálja a tömböt Hogyan lehet deklarálni a tömböket a VBA-ban?

Excel VBA tömb deklarálása

A tömb deklarációja a VBA-ban nagyon hasonlít a változókhoz, ugyanez a dim utasítás, vagy statikus nyilvános vagy privát utasítás állítja elő, a tömb deklarálásában és a változó deklarálásában az egyetlen különbség, hogy egy tömb deklarálásakor meg kell adnunk egy méret egy tömb, amely a tömb felső határa és a tömb alsó határa.

A VBA Code-ban egyetlen változó tömböt deklarálhatunk, amely az egyes változók deklarálása helyett a változók számát képes tárolni. Ez segíthet csökkenteni a kód sorainak számát.

A tömb egyfajta változó, amely több értéket is képes tárolni, ellentétben a szokásos változókkal, amelyek egyszerre csak egy értéket képesek tárolni. A tömb a VBA változók deklarálásának fejlett változata. Képzeljünk el például egy olyan helyzetet, amikor 5 hallgató nevét akarjuk hozzárendelni a változókhoz, és az általános gyakorlatban öt változót deklarálunk mind az öt változó számára, amelyeket egyesével rendelünk hozzá az egyes diáknevekhez; az alábbiakban bemutatjuk ugyanennek a példakódját.

Kód:

Sub Array_Példa () Dim Student1 mint String Dim Student2 As String Dim Student3 Mint String Dim Student4 Mint String Dim Student5 Mint String End Sub

Ennyi változó deklarálása helyett mi lenne, ha egyetlen változó tömböt deklarálnánk, amely befogadhatja az összes hallgató nevét.

Igen, ez a tömb VBA-ban való deklarálásával lehetséges.

Példák

1. példa

Kijelentésképpen nem kell külön VBA kódolást végrehajtanunk. Inkább egyszerű fogalmakat kell követnünk.

Először indítsa el az alfolyamatot.

Kód:

Altömb_Példa () Vége Al

Most, mint általában, deklaráljon egy változót stringként.

Kód:

Sub Array_Példa () Dim Student mint karakterlánc Vége Sub

Miután a változó deklarált, most ellenőrizze, hogy hány értéket kell tartalmaznia. Ebben az esetben öt tanuló nevét szeretném tárolni, ezért most meg kell erősítenünk a tömb méretét, azaz 1-től 5-ig. Ugyanazt a dolgot adjuk meg zárójelben a változónak.

Kód:

Sub Array_Példa () Dim Student (1 - 5) mint String End Sub

Ehhez az egyetlen változóhoz 5 tanulónevet tárolhatunk.

Kód:

Altömb_Példa () Tompított hallgató (1–5), mint karakterláncos hallgató (1) = "John" hallgató (2) = "Peter" hallgató (3) = "Ricky" hallgató (4) = "Michael" diák (5) = "Anderson" End Sub

Nézd meg, hány sort csökkentettünk, ha a változót tömbként deklaráltuk. Ez az egyik módja ennek. Ezt a kódot továbbra is lerövidíthetjük, ha ezt a VBA hurkok belsejébe csatoljuk.

Most egy példa, ugyanaz az öt név, amely a munkalap celláiban van

Most ezeket a számokat szeretném megjeleníteni a VBA üzenetmezőjében; ok, nyilvánítsunk még egy változót a ciklusok számára Integer adattípusnak.

Kód:

Sub Array_Példa () Dim tanuló (1 - 5) mint karakterlánc Dim K, mint egész vég Sub

Mint általában, a tömb változót 1-5 méretben megtartottam.

Most nyissa meg a FOR NEXT ciklust a VBA-ban, és mivel öt nevünk van, írja be a korlátot 1-től 5-ig.

Kód:

Sub tömb_Példa () Dim tanuló (1–5) Karakterláncként Dim K egész számként K = 1–5 Következő K vége Sub

Ahhoz, hogy értékeket rendeljünk a tömbváltozóhoz, nem kell a Student (1), a Student (2) ilyen módon való megjelenítésének korábbi módját követnünk a „k” változó számpozíciós ellátási hurkai számára.

Kód:

Sub tömb_Példa () Dim tanuló (1–5) Karakterláncként Dim K, mint egész szám K = 1–5 hallgató számára (K) = Next K End Sub

Ehhez a tömbváltozóhoz szükségünk van a munkalap értékére, így a CELLS tulajdonság használatával az értékeket a munkalapról kapjuk meg.

Kód:

Sub tömb_Példa () Dim tanuló (1–5) Karakterláncként Dim K egész számként K = 1–5 hallgató számára (K) = Sejtek (K, 1). Érték Következő K vége Sub

Most az üzenetmezőn keresztül mutassa meg a tömb változó értékét.

Kód:

Sub tömb_Példa () Dim hallgató (1–5) Karakterláncként Dim K egész számként K = 1–5 hallgató számára (K) = Cella (K, 1). Érték MsgBox Student (K) Következő K End Sub

Most futtassa a kódot. Az üzenet mezőben látni fogjuk a keresztnevet. Ismét nyomja meg az Ok gombot a második név megtekintéséhez. Így az Ok megnyomásával láthatjuk mind az öt nevet.

2. példa - Kétdimenziós tömbök

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_Példa () Dim tanuló (1–5, 1–3) Karakterláncként Dim K, mint egész, J, mint egész vége Sub

Most csatolja a hurkot, az alábbiak szerint.

Kód:

Második rész: tömb_Példa () Dim tanuló (1–5, 1–3) Karakterláncként Dim k egész számként, J egész számként k = 1–5 esetén J = 1–3 munkalapig („Diáklista”). Válassza a Tanuló (k, J) = Cellák (k, J). Érték munkalapok ("Lap másolása"). Válassza ki a cellákat (k, J). Érték = tanuló (k, J) Következő J Következő k Vége al

Ez azt fogja tenni, hogy lemásolja az adatokat a „Diáklista” lapról, és beilleszti a „Lap másolása” közé.

Dolgok, amikre emlékezni kell

  • A tömb hatalmas fogalom; ez csak egy bevezető rész.
  • A tömb deklarációjának megértéséhez fejlett kódolási ismeretekre van szüksége.
  • Minél többet használ tömböt a kódban, annál jobban megszokja.

érdekes cikkek...