VBA változó tartomány - Példák változó tartományra az Excel VBA-ban

Excel VBA változó tartományban

A változók minden nagy VBA projekt szíve és lelke, mivel a változók szív és lélek, akkor az a fajta adattípus, amelyet nekik rendelünk, szintén nagyon fontos tényező ebben a tekintetben. Sok korábbi cikkünkben rengeteg alkalommal tárgyaltunk a változókról és azok adattípusának fontosságáról. Az egyik ilyen változó és adattípus ebben a speciális cikkben a „Range Variable”. Teljes útmutatót adunk a „Range Variable” témáról az excel VBA-ban.

Mi az a tartományváltozó az Excel VBA-ban?

A VBA minden más változótartományához hasonlóan a változó szintén változó, de ez egy „Object Variable” (objektumváltozó), amelyet az adott cellatartomány referenciájának beállításához használunk.

Bármely más változóhoz hasonlóan, bármilyen nevet adhatunk a változónak, de a hozzájuk rendelt adattípusnak „Range” -nak kell lennie. Miután az adattípust hozzárendeltük a változóhoz, „Object Variable” lesz, és egy másik változóval ellentétben nem kezdhetjük el a változó használatát, mielőtt objektumváltozók esetén beállítanánk az objektumok referenciáját.

Tehát, miután deklaráltuk a változót, a „SET” kulcsszóval kell beállítanunk az objektum hivatkozást, vagyis ebben az esetben a Range objektumot.

Ok, most gyakorlatilag látni fogunk néhány példát az excel VBA tartományváltozókról.

Példák tartományváltozóra az Excel VBA-ban

Tegyük fel például, hogy az alábbi képernyőképen ki szeretné választani az A2 és B10 közötti cellatartományt.

Ennek az említett cellatartománynak a kiválasztásához mindezt, amíg van RANGE objektumunk, és a tartományobjektumon belül dupla idézőjelben említettük a cella címét.

Kód:

Sub Range_Variable_Example () Range ("A2: B10") End Sub

Ha a cellatartományt megemlíti a RANGE objektum használatával, ha pontot tesz, meglátjuk az ehhez a tartományobjektumhoz társított összes tulajdonságot és metódust.

Kód:

Altartomány_változó_Példa () Tartomány ("A2: B10"). End Sub

Mivel az említett cellákat egyszerűnek kell kiválasztanunk, válassza az IntelliSense listából a „Select” módszert.

Kód:

Sub Range_Variable_Example () Range ("A2: B10"). Válassza az End Sub lehetőséget

Futtassa a kódot, és kiválasztja az említett cellákat.

Ez nyilvánvaló, igaz, de képzelje el azt a forgatókönyvet, hogy ugyanazt a tartományt használja a hosszú VBA projektben, mondjuk százszor, és ugyanazt a tartományt („A2: A10”) 100-szor írjuk, eltart egy ideig, de ehelyett deklaráljuk a változót, és az adattípust „Range” objektumként rendeljük hozzá.

Rendben, adjuk meg a saját nevét egy változónak, és az adattípust „Tartományként” rendeljük hozzá.

Az „Objektumváltozók” kivételével elkezdhetjük a változók nevük szerinti használatát, de az „Objektumváltozók” esetében meg kell adnunk a referenciát.

Például ebben az esetben a változó (Rng) objektumunk egy tartomány, ezért be kell állítanunk a hivatkozást az „Rng” szóra. A referencia beállításához a „Set” kulcsszót kell használnunk.

Most az „Rng” változó az A2 és B10 közötti cellatartományra utal. Ahelyett, hogy minden alkalommal a „Range („ A2: B10 ”))” szót írnánk, egyszerűen megírhatjuk az „Rng” szót .

A következő sorban említse meg az „Rng” változó nevét, és tegyen egy pontot a varázslat megtekintéséhez.

Mint fent láthatja, láthatjuk a tartomány objektumok összes tulajdonságát és módszerét, mint az előző.

Legyen a Változó dinamikus

Most már tudjuk, hogyan állítsuk be a cellatartományra való hivatkozást, de ha egyszer megemlítjük a cellatartományt, az csak ezekhez a cellákhoz tapad. A sejtek hozzáadása vagy törlése nem befolyásolja ezeket a sejteket.

Tehát az új cellatartomány megtalálása a sejtek hozzáadása vagy törlése után dinamikus jellegűvé teszi a változót. Ez úgy lehetséges, hogy megtalálja az utoljára használt sort és oszlopot.

Az utoljára használt sor és oszlop megtalálásához további két változót kell meghatároznunk.

Kód:

Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Utolsó sor a Dim LC As Long megértéséhez' LC = Utolsó oszlop a End Sub megértéséhez

Most a kód alatt megtalálja az utoljára használt sort és oszlopot, mielőtt a tartomány objektum változóra állítanánk a hivatkozást.

Kód:

Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Utolsó sor a Dim LC As Long megértéséhez' LC = Utolsó oszlop az LR = Cells (Rows.Count, 1) megértéséhez. End (xlUp) .End (xlUp) .Row LC = Cellák (1, Oszlopok.szám) .End (xlToLeft). Oszlopvégi al

Most nyissa meg a „Set” kulcsszó kimutatást.

Kód:

Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Utolsó sor a Dim LC As Long megértéséhez' LC = Utolsó oszlop az LR = Cells (Rows.Count, 1) megértéséhez. End (xlUp) .End (xlUp) .Row LC = Cellák (1, Columns.Count) .End (xlToLeft) .Column Set Rng = End Sub

Unlike the previous method, we use VBA CELLS properties this time.

Code:

Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column Set Rng = Cells(1, 1) End Sub

I have mentioned Cells(1,1), i.e., this refers to the first cell in the active sheet, but we need the data range reference, so use the “RESIZE” property and mention “last used row & column” variables.

Code:

Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column Set Rng = Cells(1, 1).Resize(LR, LC) End Sub

Most ez állítja a legújabb hivatkozást az „Rng” tartományobjektum-változóra. Ezután említse meg a változó nevét, és használja a „Select” módszert.

Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Utolsó sor a Dim LC As Long megértéséhez' LC = Utolsó oszlop az LR = Cellák megértéséhez (Rows.Count, 1) .End (xlUp) .Row LC = Cellák (1, Columns.Count) .End (xlToLeft). Oszlopkészlet Rng = Cells (1, 1). Resize (LR, LC) Rng. Válassza a End Sub

Most hozzáadok még néhány sort az adataimhoz.

Három extra adatsort adtam hozzá. Ha most futtatom a kódot, akkor a legfrissebb adattartományt kell kiválasztania.

Dolgok, amikre emlékezni kell

  • Az excel VBA tartományváltozó egy objektumváltozó.
  • Amikor az objektumváltozót használjuk, a „Set” kulcsszót kell használnunk, és az objektum hivatkozást a változóra kell állítanunk.
  • A referencia beállítása nélkül nem használhatunk objektumváltozót.

érdekes cikkek...