Az ENUM egy rövid forma a felsorolásokhoz, szinte minden programozási nyelvben vannak felsorolások, amelyek egyesek előre definiáltak, mások pedig a felhasználók által definiált felsorolások, például a VBA-ban a Vbnewline egy felsorolás, és az ENUM utasítás segítségével elkészíthetjük saját felsorolásainkat.
VBA felsorolások (Enum)
Általában deklaráljuk a változókat, és adattípusokat rendelünk hozzájuk. Az általunk használt általános adattípusok: „Egész, Hosszú, Egyszeres, Dupla, Változó és Karakterlánc”. De van még egy adattípusunk, azaz a VBA „Enum”. Biztosan gondolkodik, mi ez, és furcsának tűnik, de minden kétségének tisztázása érdekében bemutatjuk ezt a cikket a „VBA felsorolások” címmel.
Mi az a VBA Enum?
Az „Enum” felsorolást jelent. Az Enum egy típusú változó, akárcsak a karakterláncunk vagy egészünk, vagy bármely más adattípus, de itt létrehozunk egy listaelemet az Excel VBA Enum utasítással. A felsorolás azt jelenti, hogy „számos dolgot egyenként említünk”.
Az Excelben a VBA Enum olyan típus, amely konstansok felsorolását tartalmazza. A felsorolások létrehozzák az elemek listáját, és egy csoportba sorolják őket. Például a mobilok típusa: „Redmi, Samsung, Apple, Vivo, Oppo.”
A felsorolások segítségével mindegyiket egyetlen érték alá csoportosíthatjuk. Az Enum változóként használható a VBA-ban, és ez egy LONG numerikus változó adattípus.
![](https://cdn.know-base.net/1094242/vba_enum_step_by_step_examples_to_use_vba_enumerations.png.webp)
A VBA Enum képlete
Ha nem ért semmit, ne aggódjon. Lassan elkapja a dolgát. Most nézze meg a VBA Enum képletét.
Enum GroupName Tag1 = (Hosszú) Tag2 = (Hosszú) Tag3 = (Hosszú) Tag4 = (Hosszú) Tag5 = (Hosszú) Végszámlálás
Mint az elején elmondtam, az Enum használható változóként, és ez a Long numerikus változó adattípusa.
Példák a VBA Enum-ra
Mielőtt elkezdeném az Enum példákat, hadd mutassam meg a VBA „Constant” példáját. A konstans a VBA változó deklarálására is használt szó.
Nézze meg az alábbi kódokat.
Kód:
Opció explicit Const Samsung = 15000 Const VIVO = 18000 Const Redmi = 8500 Const Oppo = 18500 Sub Enum_Példa1 () End Sub
![](https://cdn.know-base.net/1094242/vba_enum_step_by_step_examples_to_use_vba_enumerations_2.png.webp)
A változókat a modul tetején deklaráltam a Const szó használatával.
Const Samsung = 15000
Const VIVO = 18000
Const Redmi = 8500
Const Oppo = 18500
Most már tudom, hogy ezek a változók a Mobile csoport tagjai. Ha ezeket a változókat szeretném használni, mondjuk a modulban a „Vivo” szót.
Kód:
Sub Enum_Példa1 () V Vége Sub
![](https://cdn.know-base.net/1094242/vba_enum_step_by_step_examples_to_use_vba_enumerations_3.png.webp)
Ahogy elkezdem a „v” karaktert, látom, hogy a VBA sok más dologgal keveredik, amelyek a „v” betűvel kezdődnek.
Itt kerül a képbe a VBA „Számlálások” képe.
A jobb megértés érdekében próbáljuk meg megváltoztatni a cella háttérszínét.
Kód:
Sub Enum_Példa1 () AcriveCell.Interior.Color = RGB End Sub
![](https://cdn.know-base.net/1094242/vba_enum_step_by_step_examples_to_use_vba_enumerations_4.png.webp)
Amint a fenti kódban láthatja, láthatjuk az összes RGB színt, amely elérhető a VBA-ban. Ezek mind konstansok, csodálatos nevekkel együtt.
Valójában ezek az RGB színek az „ xlRGBColor” nevű családi felsorolás részét képezik.
Kód:
Sub Enum_Példa1 () AcriveCell.Interior.Color = xlrg End Sub
![](https://cdn.know-base.net/1094242/vba_enum_step_by_step_examples_to_use_vba_enumerations_5.png.webp)
Ezeknek a VBA-felsorolásoknak a használatával hozzáférhetek a felsorolás összes csoporttagjához.
Kód:
Sub Enum_Példa1 () AcriveCell.Interior.Color = XlRgbColor. End Sub
![](https://cdn.know-base.net/1094242/vba_enum_step_by_step_examples_to_use_vba_enumerations_6.png.webp)
Amint a fenti képen láthatjuk, csak színkombinációkat látunk, semmi mást. Ez az, amit a „VBA Enum” egyszerű áttekintése tartalmaz.
Ok, most visszatérünk a Mobile csoport tagjainak eredeti példájára. Ahogyan az RGB csoporttagjait hasonló színnel láttuk, a VBA Enum utasítással deklarálhatjuk a változókat.
Kód:
Enum Mobiles Samsung = 15000 VIVO = 18000 Redmi = 8500 Oppo = 18500 End Enum Sub Enum_Példa1 () End Sub
![](https://cdn.know-base.net/1094242/vba_enum_step_by_step_examples_to_use_vba_enumerations_7.png.webp)
Now I have declared all the mobile brands under the “Mobiles” group by using “Enum” statements.
By using the group name “Mobiles,” now I can access all these brands in the module.
Code:
Enum Mobiles Samsung = 15000 VIVO = 18000 Redmi = 8500 Oppo = 18500 End Enum Sub Enum_Example1() Mob End Sub
![](https://cdn.know-base.net/1094242/vba_enum_step_by_step_examples_to_use_vba_enumerations_8.png.webp)
Select the group and put a dot to see all the members of the group.
![](https://cdn.know-base.net/1094242/vba_enum_step_by_step_examples_to_use_vba_enumerations_9.png.webp)
Look, we can see only the group members of the group “Mobiles,” nothing else. This is how we can use VBA Enumerations to group a list of items under one roof.
Using VBA Enumeration Variables to Store the Data
Let’s see a simple example of using declared Enum variables. Declare Enum group name as “Department” and add department’s names as the group member.
Code:
Enum Mobiles Finance = 150000 HR = 218000 Sales = 458500 Marketing = 718500 End Enum Sub Enum_Example1() End Sub
![](https://cdn.know-base.net/1094242/vba_enum_step_by_step_examples_to_use_vba_enumerations_10.png.webp)
I have declared each department’s salary numbers in front of them.
Now we will store the values of these numbers to excel sheet. Before applying the code, create a table like below.
![](https://cdn.know-base.net/1094242/vba_enum_step_by_step_examples_to_use_vba_enumerations_11.png.webp)
Now go back to the basic visual editor and refer the cell B2 by using the RANGE object.
Code:
Sub Enum_Example1() Range("B2").Value = End Sub
![](https://cdn.know-base.net/1094242/vba_enum_step_by_step_examples_to_use_vba_enumerations_12.png.webp)
In A2 cell, we have the Finance department, and so in B2 cell, we will store the salary of this department. So first, access the group name “Department.”
Code:
Sub Enum_Example1() Range("B2").Value = Dep End Sub
![](https://cdn.know-base.net/1094242/vba_enum_step_by_step_examples_to_use_vba_enumerations_13.png.webp)
Now in this group, we can see only declared department names.
Code:
Sub Enum_Example1() Range("B2").Value = Department. End Sub
![](https://cdn.know-base.net/1094242/vba_enum_step_by_step_examples_to_use_vba_enumerations_14.png.webp)
Select the department named “Finance.”
Code:
Sub Enum_Példa1 () Tartomány ("B2"). Érték = Department.Finance End Sub
![](https://cdn.know-base.net/1094242/vba_enum_step_by_step_examples_to_use_vba_enumerations_15.png.webp)
Hasonlóképpen, az összes többi cellához válassza ki a megfelelő részlegneveket.
Kód:
Sub Enum_Példa1 () Tartomány ("B2"). Érték = Osztály.Pénzügyi Tartomány ("B3"). Érték = Osztály.HR Tartomány ("B4"). Érték = Osztály.Marketing Tartomány ("B5"). Érték = Osztály .Sales End Sub
![](https://cdn.know-base.net/1094242/vba_enum_step_by_step_examples_to_use_vba_enumerations_16.png.webp)
Futtassa ezt a VBA kódot, és megkapjuk a hozzárendelt fizetési összeget ezekhez az osztályokhoz.
![](https://cdn.know-base.net/1094242/vba_enum_step_by_step_examples_to_use_vba_enumerations.gif)
Így tudjuk használni a VBA Enum-ot.
A VBA Enum Excel programot innen töltheti le. VBA Enum Excel sablon