UsedRange, ako už názov napovedá, sú rozsahy, ktoré ako nejaký druh hodnôt v nich neobsahujú prázdne bunky v použitých rozsahoch, takže vo VBA Použité rozsahy je vlastnosť rozsahu objektu vo VBA pre tento rozsah buniek v riadky a stĺpce, ktoré nie sú prázdne a majú v sebe nejaké hodnoty.
UsedRange vo VBA Excel
UsedRange vo VBA je vlastnosť hárka, ktorá vracia objekt rozsahu predstavujúci použitý rozsah (všetky použité bunky programu Excel alebo vyplnené v hárku) na konkrétnom hárku. Je to vlastnosť predstavujúca oblasť pokrytú alebo ohraničenú bunkami použitými v ľavom hornom rohu a naposledy použitými bunkami v pracovnom hárku.
„Použitú bunku“ môžeme opísať ako bunku obsahujúcu akýkoľvek vzorec, formátovanie, hodnotu atď. Poslednú použitú bunku môžeme tiež vybrať stlačením klávesov CTRL + END na klávesnici.
Nasleduje ilustrácia použitého rozsahu v pracovnom hárku:

Na obrázku vyššie vidíme, že UsedRange je A1: D5.
Príklady vlastnosti Excel VBA UsedRange
Pozrime sa na niekoľko príkladov nižšie, aby sme zistili, ako možno vlastnosť UsedRange v hárku použiť na nájdenie použitého rozsahu vo VBA:
Príklad č
Povedzme, že máme súbor programu Excel obsahujúci dva pracovné hárky, a chceli by sme vyhľadať a vybrať použitý rozsah na hárku 1.
Pozrime sa, čo obsahuje List1:

Na splnenie tejto úlohy používame vlastnosť UsedRange v okne VBA Immediate. Okamžité okno VBA je nástroj, ktorý pomáha získať informácie o súboroch programu Excel, rýchlo spustiť alebo odladiť akýkoľvek kód VBA, aj keď používateľ nepíše žiadne makrá. Nachádza sa v editore jazyka Visual Basic a je k nemu prístup nasledujúcim spôsobom:
- Prejdite na kartu Vývojár Excel a potom kliknite na editor jazyka Visual Basic alebo stlačte kombináciu klávesov Alt + F11 a otvorte okno editora jazyka Visual Basic.

Pritom sa otvorí okno nasledovne:

- Stlačením kombinácie klávesov Ctrl + G otvorte okamžité okno a zadajte kód.
Okamžité okno vyzerá takto:

- Nasledujúci kód vyberie použitý rozsah na hárku 1.
Kód:
„Pracovné listy („ List1 “). Aktivovať True? ActiveSheet.UsedRange.Select True
Prvý príkaz kódu aktivuje Hárok1 súboru a druhý príkaz vyberie použitý rozsah v tomto aktívnom hárku.

Pri písaní tohto kódu vidíme, že rozsah použitý v hárku 1 bude vybraný nasledovne:

Príklad č
Povedzme v tomto príklade, že by sme chceli zistiť celkový počet riadkov použitých v hárku 1. Ak to chcete urobiť, postupujte podľa nasledujúcich krokov:
- V module vytvorte názov makra.
Kód:
Sub TotalRows () End Sub

- Definujte premennú TotalRow ako celé číslo vo VBA:
Kód:
Sub TotalRows () Dim TotalRow ako celé číslo End Sub

- Teraz priraďte premennú TotalRow so vzorcom na výpočet celkového počtu riadkov:
Kód:
Sub TotalRows () Dim TotalRow ako celé číslo TotalRow = ActiveSheet.UsedRange.Rows.Count End Sub

- Teraz je možné výslednú hodnotu TotalRow zobraziť a vrátiť pomocou schránky so správou VBA (MsgBox) nasledovne:
Kód:
Sub TotalRows () Dim TotalRow ako celé číslo TotalRow = ActiveSheet.UsedRange.Rows.Count MsgBox TotalRow End Sub

- Teraz tento kód spustíme manuálne alebo stlačením klávesu F5 a celkový počet riadkov použitých v Hárku 1 zobrazených v schránke správ dostaneme takto:

Na vyššie uvedenom obrázku obrazovky teda vidíme, že v poli so správou sa vracia „5“ a ako vidíme v hárku 1, celkový počet riadkov v použitom rozsahu je 5.
Príklad č
Podobne, ak chceme zistiť celkový počet stĺpcov použitých v hárku 1, vykonáme rovnaké kroky ako vyššie, okrem miernej zmeny v kóde, ktorá bude nasledovať:
Kód:
Sub TotalCols () Dim TotalCol As Integer TotalCol = ActiveSheet.UsedRange.Columns.Count MsgBox TotalCol End Sub

Teraz, keď tento kód spustíme manuálne alebo stlačením klávesu F5, dostaneme celkový počet stĺpcov použitých v Hárku 1 zobrazený v poli Správa nasledovne:

V poli so správou sa teda vráti „4“ a ako vidíme v hárku 1, celkový počet stĺpcov v použitom rozsahu je 4.
Príklad č
Povedzme, že chceme nájsť naposledy použité číslo riadku a stĺpca v Hárku 2 súboru. Pozrime sa, čo obsahuje List2:

Postupujeme podľa týchto krokov:
- V module vytvorte názov makra.
Kód:
Sub LastRow () End Sub

- Definujte premennú LastRow ako celé číslo.
Kód:
Sub LastRow () Dim LastRow ako celé číslo End Sub

- Teraz priraďte premennú LastRow so vzorcom na výpočet naposledy použitého čísla riadku:
Kód:
Sub LastRow () Dim LastRow As Integer LastRow = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell) .Row End Sub

Metóda SpecialCells v programe Excel VBA vráti objekt rozsahu, ktorý predstavuje iba zadané typy buniek. Syntax pre metódu SpecialCells je:
RangeObject.SpecialCells (typ, hodnota)
Vo vyššie uvedenom kóde predstavuje xlCellTypeLastCell: poslednú bunku v použitom rozsahu.
Poznámka: „xlCellType“ bude dokonca obsahovať prázdne bunky, u ktorých bol zmenený predvolený formát ktorejkoľvek z nich.- Teraz je možné výslednú hodnotu čísla LastRow zobraziť a vrátiť pomocou schránky so správami (MsgBox) nasledovne:
Kód:
Sub LastRow () Dim LastRow As Integer LastRow = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell). Row MsgBox LastRow End Sub

- Teraz spustíme tento kód manuálne alebo stlačením klávesu F5 a dostaneme posledné použité číslo riadku v Hárku 2 zobrazené v schránke správ nasledovne:

Na vyššie uvedenom obrázku obrazovky teda vidíme, že v poli so správami sa vracia „12“ a ako vidíme v Hárku 2, naposledy použité číslo riadku je 12.
Podobne, ak chceme nájsť posledné použité číslo stĺpca v Hárku 2, vykonáme rovnaké kroky ako vyššie, okrem miernej zmeny v kóde, ktorá bude nasledovať:
Kód:
Sub LastCol () Dim LastCol ako celé číslo LastCol = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell). Stĺpec MsgBox LastCol End Sub

Teraz, keď tento kód spustíme manuálne alebo stlačením klávesu F5, dostaneme číslo posledného použitého stĺpca v Hárku 2 zobrazené v schránke správ nasledovne:

Na vyššie uvedenom obrázku obrazovky teda vidíme, že v poli so správou sa vracia „3“ a ako vidíme v Hárku 2, naposledy použité číslo stĺpca je 3.
Na čo by ste si mali pamätať VBA UsedRange
- VBA UsedRange je rozsah obdĺžnika.
- VBA UsedRange obsahuje bunky, ktoré majú akékoľvek dáta alebo sú formátované atď.
- Excel VBA UsedRange nemusí nevyhnutne obsahovať ľavú hornú bunku tabuľky.
- UsedRange nemusí nevyhnutne považovať aktívnu bunku za použitú.
- UsedRange možno použiť na vyhľadanie posledného použitého riadku vo VBA a na resetovanie použitého rozsahu atď.
- Stlačením klávesovej skratky Excel CTRL + SHIFT + ENTER na klávesnici môžete rozšíriť výber z aktívnej bunky na poslednú použitú bunku v hárku.