Excel VBA tömbök

Az Excel VBA tömb nem más, mint olyan változó, amely ugyanazt az adattípust képes tárolni. A tömb egy változó olyan csoportja, amely egynél több változót tárolhat. A változó neve azonos lesz, de különböző értékeket képes tárolni egyetlen változóban. A VBA tömb olyan típusú változó, amelyet azonos típusú adatlisták tárolására használnak.

Ha 5 olyan cellánk van, amelyek számot tartanak, akkor 5 változót kell deklarálnunk, hogy 5 különböző számot tartsunk a tartományban. De tömb használatával 5 különböző értéket tudunk tartani egyetlen változóban.

Hogyan kell használni az Excel VBA tömböket?

Nézzünk meg néhány példával az Excel VBA tömbök és azok típusainak használatát.

A VBA tömbök Excel sablonját itt töltheti le - a VBA tömbök Excel sablonját itt töltheti le

1. példa

Vessen egy pillantást az alábbi példára. X olyan változó, amely az egész adattípust tartalmazza.

Kód:

 Sub Array_Example1 () tompítani x egész számként x = 1 Vége Sub 

Most rendeljen hozzá 1 értéket a deklarált x változóhoz .

Helyezzük az 1-es értéket az A1 cellába.

Kód:

 Al tömb_példa1 () tompítani x egész számként x = 1 tartomány ("A1") érték = x 
 Befejezés Sub 

Az x érték egyenlő 1-gyel és az A1 tartományban az értéket x értékként illesztik be, azaz x értéke 1. Most futtassa a kódot F5 billentyűvel vagy manuálisan az eredmények megjelenítéséhez.

A fenti példában az x csak egy változót tart, az egész. De ha 5 egymást követő számot akarok beszúrni az egyetlen változó használatával, akkor azt a tömbváltozót kell használni, amely sok változó értékét képes tárolni egyetlen változó nevében.

2. példa

Most vessünk egy pillantást az alábbi példára. A változó neve x, az adattípusa LONG. De miközben maga deklarálta a változót, kinyitottam a konzolt, és megemlítettem az 1-5. Ez azt jelenti, hogy az x változó 5 különféle típusú értéket fog tárolni.

Kód:

 Al tömb_példa () tompítani x (1–5) mindaddig, amíg egész szám Vége al 

Ezután minden változóhoz hozzárendeltem az értékeket. X (1) = 20 azt jelenti, hogy az első változónak meg kell egyeznie a 20 értékével. X (2) = 25 azt jelenti, hogy a második változónak meg kell egyeznie a 25 értékével és így tovább.

Kód:

 Altömb_Példa () tompított x (1–5), mindaddig, egészen egészben x (1) = 20 x (2) = 25 x (3) = 44 x (4) = 78 x (5) = 96 

Később bejelentettem egy újabb „I” nevű változót, ez a változó második típusa, és egész szám adattípust tartalmaz.

A következő lépésben FOR-hurkokat alkalmaztam a hozzárendelt számok beillesztésére az első oszlop tömbjére. Az i változó értékét 1-re állítottam, és utasítottam a hurkot 1-5 alkalommal futtatni. Amikor a hurok először fut, az i érték 1 lesz. CELLS (I, 1). Érték = x (i), ez azt jelenti, hogy első alkalommal i egyenlő 1-vel, azaz CELLS (1, 1). Értékkel. = x (1), az első sor első oszlopában (A1 cell) az érték lesz az első tömb ( x (1) ) értéke, azaz 20.

Amikor a hurok másodszor fut, akkor az i érték 2 lesz, azaz CELLS (2, 1) .érték = x (2), a második sor első oszlopában (A2) az érték a második tömb ( x (2) ) lesz azaz 25.

Kód:

 Al tömb_példa () tompított x (1–5) mindaddig, amíg egész szám x (1) = 20 x (2) = 25 x (3) = 44 x (4) = 78 x (5) = 96 i = 1–5 cella (i, 1). Érték = x (i) Következő i End Sub 

Így, amikor a hurkok folyamatosan futnak, az értékek folyamatosan változnak. Ha a hurkok harmadik alkalommal futnak, akkor az A3 cella értéke 44 lesz, a negyedik alkalommal futó A4 cella értéke 78, ha a hurkok az utolsó alkalommal futnak, vagy az ötödik alkalommal az A5 cella értéke 96 lesz.

A kód futtatása után az F5 billentyűvel vagy manuálisan az alább látható módon kapunk eredményeket.

A tömbök típusai Excelben

A tömbök különféle típusai vannak a VBA-ban. Ötféle tömb van az Excelben elérhető.

  • Statikus tömb
  • Dinamikus tömb
  • Egydimenziós tömb
  • Kétdimenziós tömb
  • Többdimenziós tömb

Statikus tömb

Az ilyen típusú tömb esetében a tömb hosszát előre meghatározzák, és állandó marad.

Kód:

 Sub Static_Example () Következő ArrayType (1–3) egész számként ArrayType (1) = 0 ArrayType (2) = 1 ArrayType (3) = 2 cella (1, 1) .Érték = ArrayType (1) Cells (1, 2) .Value = ArrayType (2) Cells (1, 3) .Value = ArrayType (3) End Sub 

A fenti kódban az ArrayType hosszúságát jóval előre meghatározzuk 1 és 3 között, az adattípus egész szám.

A kód futtatása után az F5 billentyűvel vagy manuálisan az alább látható módon kapunk eredményeket.

Dinamikus tömb

Az ilyen típusú tömb esetében a tömb hosszát előre nem határozzák meg előre.

Kód:

 Sub Dynamic_Example () Dim ArrayType () Variant ReDim ArrayType (3) ArrayType (1) = "My Name" ArrayType (2) = "is" ArrayType (3) = "Excel" Cells (1, 1) .Value = ArrayType (1) Cellák (1, 2). Érték = ArrayType (2) Cellák (1, 3). Érték = ArrayType (3) End Sub 

Az ilyen típusú tömbben az adatok változóak, és a hosszt itt nem határozzuk meg. A változó deklarálása után a tömb hosszát rendeltem ReDim funkcióval. Ez a tömb az alábbi cellákat fogja beilleszteni: A1 = Saját név, B1 cella =, Cella = Excel.

Egydimenziós tömb

Az ilyen típusú tömbben a hossz meghatározása megtörténik, de egy dimenzióban működik.

Kód:

 Sub One_Dimensional () Dim OneDimension (1–3) Húzza OneDimension (1) = 40 OneDimension (2) = 50 OneDimension (3) = 15 Sub Sub vége 

Mutassa meg ezeket az értékeket a VBA üzenetdobozban.

Kód:

 Sub One_Dimensional () Dim OneDimension (1–3) Karakterláncként OneDimension (1) = 40 OneDimension (2) = 50 OneDimension (3) = 15 MsgBox OneDimension (1) & ", " & OneDimension (2) & ", " & OneDimension (3) End Sub 

Futtassa ezt a kódot F5 billentyűvel vagy manuálisan, és a következő eredményt kapjuk.

Kétdimenziós tömb

Az ilyen típusú tömbökben a hosszúság két dimenzióban kerül meghatározásra, és működik.

Kód:

 Sub Kétdimenziós () Homályos Kétdimenziós (1-től 2-ig, 1-ig 2) Mindaddig, amíg dim i, Egész egészként Dim j, Egész egészként, Kétdimenziós (1, 2) = 40 Kétdimenziós (2, 1) = 50 Kétdimenziós (1, 1) = 15 Kétdimenziós (2, 2) = 10 albekezdés vége 

Most ezeket az értékeket tároljuk a kód alatti cellákban.

Kód:

 Sub Kétdimenziós () Homályos Kétdimenziós (1-től 2-ig, 1-ig 2) Mindaddig, amíg dim i, Egész egészként Dim j, Egész egészként, Kétdimenziós (1, 2) = 40 Kétdimenziós (2, 1) = 50 Kétdimenziós (1, 1) = 15 Kétdimenziós (2, 2) = 10 i = 1-től 2-ig j = 1-től 2-ig cella (i, j) = Kétdimenzió (i, j) Következő j Következő i Vége Sub 

Ez az adatokat az alábbiak szerint tárolja.

Többdimenziós tömb

Az ilyen típusú tömbökben meghatározzák a hosszúságot, de többdimenziós módon működnek.

Kód:

 Sub multi_Dimensional () dim Kétdimenzió (1-től 3-ig, 1-ig 2-ig) egészen hosszú dim-ig egész egészként dim-nél egész egészként Többdimenziós (1, 1) = 15 Többdimenziós (1, 2) = 40 Többdimenziós (2, 1) = 50 Többdimenziós (2, 2) = 10 többdimenziós (3, 1) = 98 többdimenziós (3, 2) = 54 

Ha először megnézzük a fenti kódot, akkor a tömböt 1-3-ig, majd 1-től 2-ig deklaráltam. Ez azt jelenti, hogy a tömb írásakor először csak 1-3 számot tudok használni, de a második szóközben csak 1 és 2 között nem 1 és 3 között.

A Loop segítségével beszúrhatjuk az értékeket a cellákba. Két hurkot használtam egy többdimenziós tömb számára.

Kód:

 Sub multi_Dimensional () dim Kétdimenzió (1-től 3-ig, 1-ig 2-ig) egészen hosszú dim-ig egész egészként dim-nél egész egészként Többdimenziós (1, 1) = 15 Többdimenziós (1, 2) = 40 Többdimenziós (2, 1) = 50 Többdimenziós (2, 2) = 10 többdimenziós (3, 1) = 98 többdimenziós (3, 2) = 54 i = 1-től 3-ig j = 1-től 2-ig cella (i, j) = multidimenzió (i, j) következő j Következő i Sub Sub 

A kód futtatása után az F5 billentyűvel vagy manuálisan az alább látható módon kapunk eredményeket.

Dolgok, amikre emlékezni kell

  • Egy tömb az értékeket nulláról számolja, nem pedig 1-ből.
  • A tömb (0, 0) az első sor első oszlopát jelenti.
  • Ezt az excel makrofájlt makrokompatibilis munkafüzetként kell menteni.
  • Dinamikus tömb esetén a tömb értékét a VBA REDIM függvényével kell hozzárendelni.

Ajánlott cikkek

Ez egy útmutató a VBA tömbökhöz. Itt megvitattuk a tömbök típusait a VBA-ban és az Excel VBA tömbök használatát, néhány gyakorlati példával és letölthető Excel sablonnal együtt. Megnézheti más javasolt cikkeinket -

  1. FIND funkció Excelben példákkal
  2. Mi az a VBA függvény az Excelben?
  3. Útmutató a VBA Range Object-hez
  4. Hogyan kell használni a VBA VLOOKUP funkciót?

Kategória: