Tömbök használata VBA programozáshoz az Excel 2016-ban

A legtöbb programozási nyelv támogatja a tömböket, beleértve a VBA-t is. A tömb olyan változók csoportja, amelyeknek közös a neve. A tömb egy adott változójára a tömbnév és a zárójelben lévő indexszám használatával hivatkozhat. Például megadhat egy 12 karakterlánc-változóból álló tömböt, amely az év hónapjainak nevét tartalmazza. Ha a tömbnek MonthNames nevet ad , akkor a tömb első elemére Hónapnevek (1), a második elemre Hónapnevek (2) és így tovább hivatkozhat.

Tömbök deklarálása

Mielőtt egy tömböt használna, deklarálnia kell . Nincsenek kivételek. A normál változókkal ellentétben a VBA nagyon szigorúan alkalmazza ezt a szabályt. Egy tömböt Dim vagy Public utasítással deklarálsz, ugyanúgy, mint egy szabályos változót. Ugyanakkor meg kell adni a tömb elemeinek számát is. Ezt úgy teheti meg, hogy megadja az első indexszámot, a Címzett kulcsszót és az utolsó indexszámot – mindezt zárójelben. A következő példa bemutatja, hogyan lehet deklarálni egy 100 egész számból álló tömböt:

Dim MyArray (1-től 100-ig) egész számként

Amikor deklarál egy tömböt, kiválaszthatja, hogy csak a felső indexet adja meg. Ha elhagyja az alsó indexet, a VBA azt feltételezi, hogy az 0. Ezért a következő mindkét utasítás ugyanazt a 101 elemű tömböt deklarálja:

Dim MyArray (0-tól 100-ig) egész számként
Dim MyArray (100) Egész számként

Ha azt szeretné, hogy a VBA azt feltételezze, hogy 1 (nem 0) a tömbök alsó indexe, vegye fel a következő utasítást a Deklarációk szakaszba a modul tetején:

Opciós alap 1

Ez az utasítás arra kényszeríti a VBA-t, hogy 1-et használjon első indexszámként azoknál a tömböknél, amelyek csak a felső indexet deklarálják. Ha ez az utasítás jelen van, akkor a következő utasítások azonosak, mindkettő 100 elemű tömböt deklarál:

Dim MyArray (1–100) Egész számként
Dim MyArray (100) Egész számként

Többdimenziós tömbök

Az előző példákban létrehozott tömbök mindegyike egydimenziós tömb. Tekintse az egydimenziós tömböket egyetlen értéksornak. A VBA-ban létrehozott tömbök akár 60 dimenziót is tartalmazhatnak – bár ritkán van szükség kettőnél vagy háromnál több dimenzióra egy tömbben. A következő példa egy 81 egész számból álló tömböt deklarál két dimenzióval:

Dim MyArray (1–9, 1–9) Egész számként

Ezt a tömböt úgy képzelheti el, mint amely egy 9 x 9-es mátrixot foglal el – tökéletes az összes szám tárolására egy Sudoku-rejtvényben.

A tömb egy adott elemére való hivatkozáshoz két indexszámot kell megadnia (hasonlóan a mátrix „sorához” és „oszlopához”). A következő példa bemutatja, hogyan rendelhet értéket egy elemhez ebben a tömbben:

MyArray (3, 4) = 125

Ez az utasítás értéket rendel a tömb egyetlen eleméhez. Ha a tömbben 9 x 9-es mátrixban gondolkodunk, akkor ez 125-öt rendel a mátrix harmadik sorában és negyedik oszlopában található elemhez.

A következőképpen deklarálhat egy háromdimenziós tömböt, 1000 elemből:

Dim My3DArray (1–10, 1–10, 1–10) egész számként

A háromdimenziós tömböt kockaként is felfoghatja. A háromnál több dimenzióból álló tömb megjelenítése nehezebb.

Dinamikus tömbök

Létrehozhat dinamikus tömböket is. Egy dinamikus tömbnek nincs előre beállított számú eleme. Dinamikus tömb deklarálása üres zárójelkészlettel:

Dim MyArray () Egész számként

A tömb használata előtt a ReDim utasítással meg kell adnia a VBA-nak, hogy a tömb hány elemből áll. Általában a tömb elemeinek számát a kód futása közben határozzák meg. A ReDim utasítást tetszőleges számú alkalommal használhatja, és szükség szerint módosíthatja a tömb méretét. A következő példa bemutatja, hogyan lehet megváltoztatni az elemek számát egy dinamikus tömbben. Feltételezi, hogy a NumElements változó tartalmaz egy értéket, amelyet a kód kiszámított.

ReDim MyArray (1 - NumElements)

Amikor egy tömböt a ReDim használatával újradimenzionál, törli a tömbelemekben jelenleg tárolt értékeket. A Preserve kulcsszó használatával elkerülheti a régi értékek megsemmisítését. A következő példa bemutatja, hogyan őrizheti meg a tömb értékeit a tömb újraméretezésekor:

ReDim Preserve MyArray (1-től NumElements)

Ha a MyArray jelenleg tíz elemet tartalmaz, és az előző utasítást úgy hajtja végre, hogy a NumElements értéke 12, az első tíz elem érintetlen marad, és a tömbben van hely két további elem számára (a NumElements változóban található számig). Ha azonban a NumElements 7, akkor az első hét elem megmarad, de a maradék három elem megszűnik.

Leave a Comment

Lábjegyzetek és végjegyzetek létrehozása a Word 2013-ban

Lábjegyzetek és végjegyzetek létrehozása a Word 2013-ban

Lábjegyzetek és végjegyzetek létrehozása a Word 2013-ban. Részletes útmutató, hogyan készíthet különféle stílusú jegyzeteket bibliográfiai információkhoz vagy magyarázó megjegyzésekhez.

Hogyan lehet kiemelni a statisztikailag kiugró értékeket az Excelben

Hogyan lehet kiemelni a statisztikailag kiugró értékeket az Excelben

Tudjon meg mindent arról, hogyan lehet az Excelben kiemelni a statisztikailag kiugró értékeket, mégpedig egyszerű eszközökkel és módszerekkel. Kiemelt figyelmet fordítunk a kiugró értékek azonosítására és kezelésére.

Hogyan lehet mintát venni az adatokból Excelben

Hogyan lehet mintát venni az adatokból Excelben

Az Excel Mintavételi eszközével véletlenszerűen kiválaszthat elemeket egy adatkészletből vagy választhat minden n-edik elemet. Ismerje meg, hogyan használhatja ezt a hasznos funkciót az adatelemzéshez!

10 klassz trükk a Microsoft Word 2019 programmal

10 klassz trükk a Microsoft Word 2019 programmal

Fedezze fel a Microsoft Word 2019 legjobb trükkjeit, amelyek segítenek a hatékonyabb munkavégzésben. Tudd meg, hogyan használhatod ki a program funkcióit!

Bekezdések igazítása és behúzása a Word 2019-ben

Bekezdések igazítása és behúzása a Word 2019-ben

A Word 2019-ben a bekezdések igazítása és behúzása kulcsfontosságú a dokumentumok megfelelő megjelenítéséhez. Ismerje meg a formázási lehetőségeket és tippeket a hatékonyabb munkához.

Az Excel 2019 Solver használata

Az Excel 2019 Solver használata

Fedezze fel, hogyan használhatja az Excel 2019 Solver bővítményt a komplex problémák megoldására. A célcella, változócellák és kényszerek beállítása lépésről lépésre.

Dinamikus elemek hozzáadásához használja a Word 2019 mezőit

Dinamikus elemek hozzáadásához használja a Word 2019 mezőit

A Word lehetővé teszi dinamikus elemek hozzáadását a dokumentumhoz. Fedezze fel, hogyan lehet különböző mezőket használni a Word programban a dinamikus tartalom létrehozásához.

Oszloptípusok a SharePoint 2010-ben

Oszloptípusok a SharePoint 2010-ben

A SharePoint 2010 oszlopai az adatok tárolására szolgálnak. Fedezze fel a különböző oszlop típusokat és azok alkalmazását a SharePoint rendszeren belül.

A nem kívánt szöveg eltávolítása a Word 2013-ban

A nem kívánt szöveg eltávolítása a Word 2013-ban

A Word 2013 szövegtörlésének képessége kulcsfontosságú, legyen szó szövegalkotásról vagy törlésről. Ismerje meg a hatékony szövegtörlési módszereket!

Hogyan készítsünk fotóalbumot a PowerPoint 2016-ban

Hogyan készítsünk fotóalbumot a PowerPoint 2016-ban

A fotóalbum funkció a PowerPoint 2016-ban lehetővé teszi, hogy egyszerre több fényképet illesszen be egy prezentációba, megkönnyítve ezzel a többszörös képek kezelését.