VBA UsedRange - Ako zistiť počet použitých riadkov a stĺpcov?

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.

Zaujímavé články...