Excel VBA tömbök: Mi az, hogyan kell használni & Tömbök típusai a VBA-ban

Tartalomjegyzék:

Anonim

Mi az a VBA tömb?

A tömböt olyan memóriahelyként definiálják, amely egynél több érték tárolására képes. Az értékeknek ugyanannak az adattípusnak kell lenniük. Tegyük fel, hogy a kedvenc italok listáját egyetlen változóban szeretné tárolni, ehhez a VBA tömböt használhatja.

Egy tömb használatával a kapcsolódó értékekre ugyanazon a néven hivatkozhat. Az index vagy az index segítségével megkülönböztetheti őket. Az egyes értékeket az Excel VBA tömb elemeinek nevezik. A 0 indextől a legmagasabb indexértékig határosak.

Ez az oktatóanyag azt feltételezi, hogy a Microsoft Excel 2013-as verzióját használja. A tudás továbbra is érvényes a Microsoft Excel más verzióira is.

Ebben a VBA programozási oktatóanyagban

  • Melyek a tömbök előnyei?
  • Tömbök típusai a VBA-ban
  • Az Array használata az Excel VBA-ban
  • Alkalmazásunk tesztelése

Melyek a tömbök előnyei?

Az alábbiakban bemutatjuk a VBA tömbfunkció néhány előnyét

  1. Csoportosítsa össze a logikailag kapcsolódó adatokat - tegyük fel, hogy tárolni szeretné a hallgatók listáját. Használhat egyetlen tömb változót, amelynek külön helyei vannak a tanulói kategóriákhoz, pl. Kert, általános iskola, középiskola, középiskola stb.
  2. A tömbök megkönnyítik a karbantartható kód írását. Ugyanazokhoz a logikailag kapcsolódó adatokhoz lehetővé teszi, hogy egynél több változó meghatározása helyett egyetlen változót definiáljon.
  3. Jobb teljesítmény - egy tömb definiálása után gyorsabb az adatok lekérése, rendezése és módosítása.

Tömbök típusai a VBA-ban

A VBA kétféle tömböt támogat, nevezetesen;

  • Statikus - Az ilyen típusú tömböknek előre meghatározott számú rögzített elem tárolható. Nem lehet megváltoztatni a statikus tömb adattípusának méretét. Ezek akkor hasznosak, ha ismert entitásokkal szeretne dolgozni, például egy hét napjainak száma, neme stb.

    Például : Dim ArrayMonth (12) stringként

  • Dinamikus - Az ilyen típusú tömböknek nincs rögzített, előre meghatározott számú tárolható elemük. Ezek akkor hasznosak, ha olyan entitásokkal dolgozunk, amelyek számát nem lehet előre meghatározni.

    Például : Dim ArrayMonth () mint variáns

Szintaxis a tömbök deklarálásához

Statikus tömbök

A STATIC tömbök deklarálásának szintaxisa a következő:

Dim arrayName (n) as datatype

ITT,

Kód Akció
Dim arrayName (n) adattípus
  1. Deklarál egy arrayName nevű tömb változót, amelynek mérete n és adattípusa. A méret a tömbben tárolható elemek számára vonatkozik.

Dinamikus tömbök

A DYNAMIC tömbök deklarálásának szintaxisa a következő:

Dim arrayName() as datatypeReDim arrayName(4)

ITT,

Kód Akció
Dim arrayName () adattípus
  1. Az elemek számának meghatározása nélkül deklarál egy arrayName nevű tömb változót
ReDim arrayName (4)
  1. Megadja a tömb méretét a tömb meghatározása után.

Tömb méretei

Egy tömb lehet egy dimenzió, két dimenzió vagy többdimenziós.

  • Egy dimenzió : Ebben a dimenzióban a tömb csak egy indexet használ. Például minden korosztályból számos ember.
  • Két dimenzió : Ebben a dimenzióban a tömb két indexet használ. Például minden osztályban számos tanuló. Megköveteli az osztályok számát és az egyes osztályok tanulóinak számát
  • Többdimenziós : Ebben a dimenzióban a tömb kettőnél több indexet használ. Például a nappali hőmérséklet. (30, 40, 20).

Az Array használata az Excel VBA-ban

Létrehozunk egy egyszerű alkalmazást. Ez az alkalmazás feltölti az Excel lapot egy tömb változó adataival. Ebben a VBA tömb példában a következő dolgokat fogjuk megtenni.

  • Hozzon létre egy új Microsoft Excel munkafüzetet, és mentse el Excel makró-engedélyezett munkafüzetként (* .xlsm)
  • Vegyen fel egy parancsgombot a munkafüzetbe
  • Állítsa be a parancs gomb nevét és felirat tulajdonságait
  • Az Excel lapot kitöltő VBA programozása

Hajtsa végre ezt a gyakorlatot lépésről lépésre,

1. lépés - Hozzon létre egy új munkafüzetet

  1. Nyissa meg a Microsoft Excel alkalmazást
  2. Mentse az új munkafüzetet VBA Arrays.xlsm néven

2. lépés - Adjon hozzá egy parancsgombot

Megjegyzés: Ez a szakasz feltételezi, hogy ismeri az interfész létrehozásának folyamatát az excelben. Ha még nem ismeri, olvassa el a VBA Excel Form Control & ActiveX Control oktatóanyagot. Megmutatja, hogyan kell létrehozni a felületet

  1. Adjon hozzá egy parancsgombot a laphoz
  1. Állítsa a név tulajdonságot cmdLoadBeverages értékre
  2. Állítsa a felirat tulajdonságát az Italok betöltése elemre

A felhasználói felületének most a következőknek kell lennie

3. lépés - Mentse a fájlt

  1. Kattintson a Mentés másként gombra
  2. Válassza az Excel makróval engedélyezett munkafüzetet (* .xlsm) az alábbi képen látható módon

4. lépés - Írja be a kódot

Most megírjuk az alkalmazásunk kódját

  1. Kattintson a jobb gombbal az Italok betöltése gombra, és válassza ki a nézet kódját
  2. Adja hozzá a következő kódot a cmdLoadBeverages kattintási eseményéhez
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

ITT,

Kód

Akció

Halk italok (1–4) húrként

  • Deklarálja a Drinks nevű tömb változót. Az első tömbindex 1, az utolsó tömbindex 4.

Italok (1) = "Pepsi"

  • A Pepsi értéket hozzárendeli az első tömbelemhez. A másik hasonló kód ugyanezt teszi a tömb többi eleme esetében is.

Sheet1.Cells (1, 1) .Value = "Kedvenc italaim".

  • Az A1 cella címbe írja a Kedvenc italok értéket. Az 1. lap hivatkozik a munkalapra, az 1. cellák pedig az 1. sorra és az 1. oszlopra (B)

Sheet1.Cells (2, 1). Érték = italok (1)

  • Az 1. indexű tömb elem értékét az 1. oszlop második sorába írja

Alkalmazásunk tesztelése

Válassza a fejlesztő fület, és ellenőrizze, hogy a Tervezési mód gomb ki van-e kapcsolva. A jelző szerint fehér és nem színes (zöldes) háttérrel rendelkezik. (Lásd az alábbi képet)

Kattintson az Italok betöltése gombra

A következő eredményeket kapja

Töltse le a fenti kódot tartalmazó Excel programot

Töltse le a fenti Excel kódot

Összegzés

  1. A tömb egy változó, amely több értéket is képes tárolni
  2. Az Excel VBA támogatja a statikus és dinamikus tömböket
  3. A tömbök megkönnyítik a karbantartható kódok írását, összehasonlítva a sok változó deklarálásával a logikailag összefüggő adatoknál.