Excel VBA tömbök: Típusok és használatuk példával
⚡ Okos összefoglaló
Az Excel VBA tömbök azonos adattípusú, kapcsolódó értékek csoportját tárolják egyetlen név alatt, amelyekhez egy index segítségével lehet hozzáférni. Ez az oldal a statikus és dinamikus tömböket, az egy-, két- és többdimenziós tömböket, a deklarációs szintaxist és egy italok betöltésére szolgáló, kidolgozott példát ismertet.

Mi az a VBA Array?
A tömb egynél több érték tárolására képes memóriahely. Az értékeknek azonos adattípusúnak kell lenniük. Tegyük fel, hogy kedvenc italainak listáját egyetlen változóban szeretné tárolni, ehhez használhatja a VBA tömböt.
Tömb használatával a kapcsolódó értékekre azonos néven hivatkozhat. Index vagy alsó index segítségével megkülönböztetheti őket egymástól. Az egyes értékekre az Excel VBA tömb elemeiként hivatkozunk. A 0 indextől a legmagasabb indexértékig szomszédosak.
Ez az oktatóanyag feltételezi, hogy használja Microsoft Excel verzió 2013. A tudás továbbra is vonatkozik a többi verzióra Microsoft Excel is.
Mik a tömbök előnyei?
Tömbkód írása előtt érdemes megérteni, miért érdemes tömböket használni. Az alábbiakban a VBA tömbfüggvények által kínált előnyök közül néhányat ismertetünk.
- Csoportosítsa a logikailag összefüggő adatokat – tegyük fel, hogy a tanulók listáját szeretné tárolni. Használhat egyetlen tömbváltozót, amelynek külön helyei vannak a tanulói kategóriáknak, pl. óvoda, általános, középiskola, középiskola stb.
- A tömbök megkönnyítik a karbantartható kód írását. Ugyanazon logikailag összefüggő adatok esetén lehetővé teszi egyetlen változó definiálását ahelyett, hogy egynél több változót definiálna.
- Jobb teljesítmény – a tömb meghatározása után gyorsabban lehet lekérni, rendezni és módosítani az adatokat.
Tömbtípusok a VBA-ban
A VBA kétféle tömböt támogat, nevezetesen;
- Statikus – Az ilyen típusú tömbök rögzített, előre meghatározott számú tárolható elemmel rendelkeznek. A statikus tömb adattípusának méretét nem lehet megváltoztatni. Ezek akkor hasznosak, ha olyan ismert entitásokkal szeretne dolgozni, mint a napok száma a héten, a nem stb.Például: Dim ArrayMonth(12) As String
- Dinamikus – Az ilyen típusú tömbökben nincs rögzített előre meghatározott számú tárolható elem. Ezek akkor hasznosak, ha olyan entitásokkal dolgozik, amelyek számát nem tudja előre meghatározni.Például: Dim ArrayMonth() As Variant
Miután megtudta, melyik típus illik az adataihoz, a következő lépés az egyes típusokhoz tartozó deklarációs szintaxis.
Szintaxis a tömbök deklarálásához
Statikus tömbök
A deklarálás szintaxisa STATIKUS a tömbök a következők:
Dim arrayName (n) as datatype
ITT,
| Code | Akció |
|---|---|
| Dim arrayName (n) adattípus |
|
Dinamikus tömbök
A deklarálás szintaxisa DINAMIKUS a tömbök a következők:
Dim arrayName() as datatype ReDim arrayName(4)
ITT,
| Code | Akció |
|---|---|
| Dim arrayName () adattípus |
|
| Redim arrayName(4) |
|
Tömb méretei
Egy tömb lehet egydimenziós, kétdimenziós 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 több tanuló. Ehhez minden osztályban osztályok száma és tanulólétszám szükséges
- 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).
A tömb használata az Excel VBA-ban
Az elmélet elsajátítása után egy tömböt működőképessé tehetünk egy valódi munkafüzetben. Létrehozunk egy egyszerű alkalmazást. Ez az alkalmazás egy Excel-táblázatot tölt fel egy tömbváltozóból származó adatokkal. Ebben a VBA tömb példában a következőket fogjuk tenni.
- Újat csinálni Microsoft Excel-munkafüzet, és mentse el Excel-makró-kompatibilis munkafüzetként (*.xlsm)
- Adjon hozzá egy parancsgombot a munkafüzethez
- Állítsa be a parancsgomb nevének és feliratának tulajdonságait
- Az Excel lapot feltöltő VBA programozása
Végezze el ezt a gyakorlatot lépésről lépésre,
1. lépés – Hozzon létre egy új munkafüzetet
- Nyisd ki Microsoft Excel
- Mentse az új munkafüzetet VBA Arrays.xlsm néven
2. lépés – Parancsgomb hozzáadása
Jegyzet: Ez a rész feltételezi, hogy ismeri az excel felület létrehozásának folyamatát. Ha nem ismeri, olvassa el az oktatóanyagot VBA Excel űrlapvezérlő és ActiveX-vezérlő. Megmutatja, hogyan kell létrehozni a felületet
- Adjon hozzá egy parancsgombot a laphoz
- Állítsa be a name tulajdonságot cmdLoadBeverages értékre
- Állítsa be a felirat tulajdonságot Italok betöltése értékre
A grafikus felhasználói felületnek most a következőnek kell lennie
3. lépés – Mentse el a fájlt
- Kattintson a Mentés másként gombra
- Válassza az Excel Makró-kompatibilis 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
- Kattintson a jobb gombbal az Italok betöltése gombra, és válassza ki a nézet kódot
- Adja hozzá a következő kódot a cmdLoadBeverages kattintási eseményéhez
Private Sub cmdLoadBeverages_Click() Dim Drinks(1 To 4) As String Drinks(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,
| Code | Akció |
|---|---|
| Dim Drinks (1-től 4-ig) Stringként |
|
| Italok (1) = „Pepsi” |
|
| Sheet1.Cells(1, 1).Value = „Kedvenc italaim” |
|
| Lap1.Cellák(2, 1).Érték = Italok(1) |
|
Alkalmazásunk tesztelése
Miután a kód elkészült, az utolsó lépés a gomb futtatása és annak ellenőrzése, hogy a tömb kitölti-e a lapot. Válaszd ki a fejlesztő fület, és győződj meg arról, hogy a Tervezési mód gomb „ki” van kapcsolva. A jelzőfény fehér hátteret mutat, nem pedig színes (zöldes) hátteret. (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ó Excelt





