A UsedRange, amint a neve is sugallja, azok a tartományok, amelyek valamilyen értékként tartalmazzák az üres cellákat, és nem szerepelnek a használt tartományokban, így a VBA-ban a Használt tartományok a VBA tartomány objektum tulajdonsága azon cellatartományokban sorok és oszlopok, amelyek nem üresek, és tartalmaznak néhány értéket.
Használt tartomány a VBA Excel-ben
A VBA-ban a UsedRange egy olyan munkalap tulajdonság, amely egy adott munkalapon a használt tartományt (az összes felhasznált vagy egy munkalapba kitöltött Excel-cellát) képviselő tartomány-objektumot adja vissza. Ez a tulajdonság azt a területet képviseli, amelyet egy munkalap bal felső és a jobb oldali használt cellája borít vagy határol.
Leírhatjuk a 'Használt cellát' olyan cellaként, amely bármilyen képletet, formázást, értéket stb. Tartalmaz. Kiválaszthatjuk az utoljára használt cellát is a CTRL + END billentyűk megnyomásával.
Az alábbiakban bemutatjuk a UsedRange példáját egy munkalapon:

A fenti képernyőképen láthatjuk, hogy a UsedRange A1: D5.
Példák az Excel VBA UsedRange tulajdonságra
Nézzünk meg néhány alábbi példát, hogy lássuk, hogyan lehet a munkalapon a UsedRange tulajdonságot használni a VBA használt tartományának megkeresésére:
1. példa
Tegyük fel, hogy van egy Excel-fájlunk, amely két munkalapot tartalmaz, és meg akarjuk találni és kiválasztani a használt tartományt a Sheet1-en.
Nézzük meg, mit tartalmaz a Sheet1:

A feladat végrehajtásához a VBA Azonnali ablakában a UsedRange tulajdonságot használjuk. A VBA azonnali ablak olyan eszköz, amely segít információkat szerezni az Excel fájlokról, gyorsan végrehajtani vagy hibakeresni a VBA kódokat, még akkor is, ha a felhasználó nem ír makrót. A Visual Basic Editorban található, és az alábbiak szerint érhető el:
- Menjen a Fejlesztő fülre, majd kattintson a Visual Basic Editor elemre, vagy nyomja meg az Alt + F11 billentyűkombinációt a Visual Basic Editor ablak megnyitásához.

Ennek során egy ablak nyílik meg a következőképpen:

- A Ctrl + G megnyomásával nyissa meg az azonnali ablakot, és írja be a kódot.
A közvetlen ablak a következőképpen néz ki:

- A következő kód választja ki a használt tartományt az 1. lapon.
Kód:
? Munkalapok ("Sheet1"). Aktiválja a True értéket? ActiveSheet.UsedRange.Select True
A kód első mondata aktiválja a fájl Sheet1-et, a második utasítás pedig kiválasztja az aktív lapon használt tartományt.

A kód megírásakor azt látjuk, hogy a Sheet1-ben használt tartomány az alábbiak szerint kerül kiválasztásra:

2. példa
Most tegyük fel, hogy ebben a példában meg akarjuk találni a Sheet1-ben használt sorok teljes számát. Ehhez kövesse az alábbi lépéseket:
- Hozzon létre egy makrónevet a modulban.
Kód:
Sub TotalRows () Vége Sub

- Határozza meg a TotalRow változót egészként a VBA-ban:
Kód:
Sub TotalRows () Dim TotalRow egész szám végként Sub

- Most rendelje hozzá a TotalRow változót a képlettel a sorok teljes számának kiszámításához:
Kód:
Sub TotalRows () Dim TotalRow egész számként TotalRow = ActiveSheet.UsedRange.Rows.Count End Sub

- Most a TotalRow eredményértéke megjeleníthető és visszaadható egy VBA üzenetdoboz (MsgBox) használatával az alábbiak szerint:
Kód:
Sub TotalRows () Dim TotalRow egész számként TotalRow = ActiveSheet.UsedRange.Rows.Count MsgBox TotalRow End Sub

- Most ezt a kódot futtatjuk manuálisan vagy az F5 megnyomásával, és az Üzenetdobozban az alábbiak szerint jelenítjük meg a Sheet1-ben használt sorok teljes számát:

Tehát a fenti képernyőképen láthatjuk, hogy az '5' jelenik meg az üzenetmezőben, és amint azt a Sheet1-ben láthatjuk, a használt sorok teljes száma 5.
3. példa
Hasonlóképpen, ha meg akarjuk találni a Sheet1-ben használt oszlopok teljes számát, ugyanazokat a lépéseket fogjuk követni, mint fent, kivéve a kód enyhe változtatását az alábbiak szerint:
Kód:
Sub TotalCols () Dim TotalCol egész számként TotalCol = ActiveSheet.UsedRange.Columns.Count MsgBox TotalCol End Sub

Most, amikor ezt a kódot manuálisan vagy az F5 megnyomásával futtatjuk, az Üzenet1 mezőben az oszlopok számát jelenítjük meg a következő módon:

Tehát '4' jelenik meg az üzenetmezőben, és amint azt az 1. lapon láthatjuk, a használt tartomány oszlopainak száma 4.
4. példa
Tegyük fel, hogy meg akarjuk találni az utolsó használt sor és oszlop számát a fájl 2. lapján. Nézzük meg, mit tartalmaz a 2. lap:

Ehhez kövesse az alábbi lépéseket:
- Hozzon létre egy makrónevet a modulban.
Kód:
Sub LastRow () End Sub

- Határozza meg a LastRow változót egésznek.
Kód:
Sub LastRow () Dim LastRow Dim Integer End Sub

- Most rendelje hozzá a LastRow változót a képlettel az utoljára használt sorszám kiszámításához:
Kód:
Sub LastRow () Dim LastRow mint egész szám LastRow = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell). Sor vége Sub

Az Excel VBA SpecialCells módszere olyan tartományobjektumot ad vissza, amely csak a megadott cellatípusokat reprezentálja. A SpecialCells módszer szintaxisa a következő:
RangeObject.SpecialCells (típus, érték)
A fenti kódban az xlCellTypeLastCell: a használt tartomány utolsó celláját jelenti.
Megjegyzés: Az 'xlCellType' olyan üres cellákat is tartalmaz, amelyek bármelyik cellájának alapértelmezett formátumát megváltoztatták.- Most a LastRow szám eredő értéke jeleníthető meg és küldhető vissza egy üzenetdoboz (MsgBox) segítségével az alábbiak szerint:
Kód:
Sub LastRow () Dim LastRow, mint egész, LastRow = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell) .Row MsgBox LastRow End Sub

- Most ezt a kódot futtatjuk manuálisan vagy az F5 megnyomásával, és a következő lapon a Sheet2-ben használt utoljára használt sorszámot jelenítjük meg:

Tehát a fenti képernyőképen láthatjuk, hogy a "12" jelenik meg az üzenet mezőben, és ahogy a 2. lapon láthatjuk, az utoljára használt sor száma 12.
Hasonlóképpen, ha meg akarjuk találni az utoljára használt oszlopszámot a 2. lapon, ugyanazokat a lépéseket fogjuk követni, mint fent, kivéve a kód enyhe módosítását:
Kód:
Sub LastCol () Dim LastCol egész számként LastCol = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell). Oszlop MsgBox LastCol End Sub

Most, amikor ezt a kódot futtatjuk manuálisan vagy az F5 megnyomásával, megkapjuk a Sheet2 utoljára használt oszlopszámát az Üzenetmezőben az alábbiak szerint:

Tehát a fenti képernyőképen láthatjuk, hogy a "3" jelenik meg az üzenetmezőben, és ahogy a 2. lapon láthatjuk, az utoljára használt oszlop száma 3.
Emlékezetes dolgok a VBA UsedRange-ről
- A VBA UsedRange egy téglalap tartomány.
- A VBA UsedRange olyan cellákat tartalmaz, amelyek bármilyen adattal rendelkeznek, vagy formázásra kerülnek stb.
- Az Excel VBA UsedRange nem feltétlenül tartalmazza a munkalap bal felső celláját.
- A UsedRange nem feltétlenül tekinti az aktív cellát használtnak.
- A UsedRange használható a VBA utoljára használt sorának megkeresésére és a használt tartomány visszaállítására stb.
- Az Excel billentyűkombináció CTRL + SHIFT + ENTER billentyűzeten történő megnyomásával kiterjesztheti a választást egy aktív celláról a munkalap utolsó használt cellájára.