Excel VBA elnevezett tartomány
Amikor nagy mennyiségű adattal dolgozunk, hogy elkerüljük az adott cellára vagy cellatartományokra való hivatkozást, általában megnevezett tartományokat hozunk létre, és ez lehetővé teszi számunkra, hogy a megnevezett tartományon keresztül a szükséges cellatartományra utaljunk. A VBA-ban a névtartomány létrehozásához rendelkezünk a Név hozzáadása funkcióval.
Kiválaszthatunk egy cellát vagy cellatartományt, és nevet adhatunk neki. A cellák elnevezése után hivatkozhatunk ezekre a cellákra úgy, hogy a szokásos sor- vagy oszlophivatkozások helyett beírjuk azokat a megadott neveket.
Itt letöltheti ezt a VBA Named Range Excel sablont - VBA Named Range Excel sablontHogyan hozhatunk létre elnevezett tartományokat?
Séta a parkban, hogy megnevezett tartományokat hozzunk létre. Az első dolog, amit meg kell tennünk, hogy azonosítsuk azokat a cellákat, amelyekkel névtartományt akarunk létrehozni az excelben.
Például nézze meg az alábbi képet.
A nyereség B4 cellába jutásához a B2 - B3 képletet alkalmaztam.
Ez a közös dolog, amit mindenki csinál. De mi lenne, ha létrehoznánk a Néveket, és a képletet úgy alkalmaznánk, mint az „Értékesítés” - „Költség”.
Helyezzen egy kurzort a B2 cellára, majd válassza a Név mezőt, és hívja értékesítésként.
Helyezzen egy kurzort a B3 cellára, és hívja költségnek.
Most a profit oszlopban hivatkozhatunk ezekre a nevekre a cellahivatkozások helyett.
Ez a Named Ranges alapeleme.
Hogyan hozhatunk létre elnevezett tartományokat a VBA kód használatával?
1. példa
Gondolt már arra, hogy létrehoz egy megnevezett tartományt a VBA Code használatával?
A nevezett tartomány létrehozásához kövesse az alábbi lépéseket.
1. lépés: Határozza meg a változót tartományként.
Kód:
Sub NamedRanges_Example () Dim Rng As Range End Sub
2. lépés: Most állítsa az „Rng” változót meghatározott cellákra, amelyeket meg szeretne nevezni.
Kód:
Sub NamedRanges_Example () Dim Rng As Range Set Rng = Tartomány ("A2: A7") Vége Sub
3. lépés: A „ThisWorkbook” objektumhoz való hozzáférés a Név tulajdonsághoz.
Annyi paraméterünk van a Names.Add módszerrel. Az alábbiakban bemutatjuk a magyarázatokat.
[Név]: A név nem más, mint hogy mi az a név, amelyet szeretnénk adni az általunk megadott tartománynak.
Bár a cella elnevezése nem tartalmazhat speciális karaktereket, kivéve az aláhúzás (_) szimbólumot, és nem tartalmazhat szóközt is, nem kezdődhet numerikus értékekkel.
[Hivatkozik]: Ez nem más, mint az a cellatartomány, amelyre utalunk.
Úgy gondolom, hogy ez a két paraméter elég jó az eljárás megkezdéséhez.
4. lépés: A névbe az argumentum beírja a kívánt nevet. Megneveztem „SalesNumbers” néven.
Kód:
Sub NamedRanges_Example () Dim Rng As Range Set Rng = Range ("A2: A7") ThisWorkbook.Names.Add Name: = "Értékesítési számok" End Sub
5. lépés: A hivatkozási argumentumban adja meg a létrehozni kívánt cellák tartományát. Az „Rng” változó nevében már hozzárendeltük a cellák tartományát A2-től A7-ig, ezért az argumentumot „Rng” -ként adjuk meg.
Kód:
Sub NamedRanges_Example () Dim Rng As Range Set Rng = Range ("A2: A7") ThisWorkbook.Names.Add Name: = "Értékesítési számok", RefersTo: = Rng End Sub
Ok, ez a kód létrehoz egy megnevezett tartományt az A2 és A7 közötti cellák számára.
Most a munkalapon létrehoztam néhány számot A2-től A7-ig.
In the A8 cell, I want to have the total of the above cell numbers. Using named range, we will create a SUM of these numbers.
Code:
Sub NamedRanges_Example() Dim Rng As Range Set Rng = Range("A2:A7") ThisWorkbook.Names.Add Name:="SalesNumbers", RefersTo:=Rng Range("A8").Value = WorksheetFunction.Sum(Range("SalesNumbers")) End Sub
If you run this code manually or by pressing f5 key then, we will get the total of a named range in cell A8.
This is the basic must-know facts about “Named Ranges”.
Example #2
In VBA using RANGE object, we can refer to the cells. Similarly, we can also refer to those cells by using named ranges as well.
For example, in the above example, we have named the cell B2 as “Sales” and B3 as “Cost”.
By using actual cell reference we refer to those cells like this.
Code:
Sub NamedRanges() Range("B2").Select 'This will select the B2 cell Range("B3").Select 'This will select the B3 cell End Sub
Since we already created these cells we can refer to using those names like the below.
Code:
Sub NamedRanges() Range("Sales").Select 'This will select cell named as "Sales" i.e. B2 cell Range("Cost").Select 'This will select cell named as "Cost" i.e. B3 cell End Sub
Like this using Named Ranges, we can make use of those cells. Using these named we can calculate the profit amount in cell B4. For this first name the cell B4 as Profit.
Now in the VBA editor apply this code.
Code:
Sub NamedRanges_Example1() Range("Profit").Value = Range("Sales") - Range("Cost") End Sub
This will calculate the profit amount in the cell named “Profit”.