Rozsah výberu programu Excel VBA
Po základných programoch s VBA je dôležité pochopiť, ako pracovať s celým radom buniek v pracovnom hárku. Akonáhle začnete vykonávať kódy prakticky väčšinu času, musíte pracovať s radom buniek, takže je dôležité pochopiť, ako pracovať s rozsahom buniek, a jedným z takýchto konceptov je VBA „Výber rozsahu“. V tomto článku si ukážeme, ako pracovať s rozsahom výberu v programe Excel VBA.
Výber a rozsah sú dve rôzne témy, ale keď povieme výber rozsahu alebo výber rozsahu, jedná sa o jeden koncept. RANGE je objekt, „Selection“ je vlastnosť a „Select“ je metóda. Ľudia si s týmito výrazmi zvyknú mýliť. Je dôležité poznať rozdiely všeobecne.

Ako vybrať rozsah v programe Excel VBA?
Príklad č
Predpokladajme napríklad, že potom chcete v bunke vybrať bunku A1. Najprv musíme určiť adresu bunky pomocou objektu RANGE, ako je uvedené nižšie.
Kód:

Po zmienke o bunke, ktorú musíme vybrať, vložte bodku, aby ste videli zoznam IntelliSense, ktorý je priradený k objektu RANGE.

Ak chcete vytvoriť túto rozmanitosť zoznamov, zvolíte metódu „Vybrať“.
Kód:
Sub Range_Example1 () Range ("A1"). Vyberte End Sub

Tento kód teraz vyberie bunku A1 v aktívnom pracovnom hárku.

Ak chcete vybrať bunku v rôznych pracovných hárkoch, najskôr musíme určiť hárok podľa názvu. Ak chcete určiť list, musíme použiť objekt “WORKSHEET” a zadať názov listu v úvodzovkách.
Napríklad ak chcete vybrať bunku A1 v hárku „Údajový list“, potom najskôr zadajte hárok, ako je uvedené nižšie.
Kód:
Sub Range_Example1 () Pracovné listy ("Údajový list") End Sub
Potom pokračujte v kóde a v tomto hárku určte, čo musíme urobiť. V časti „Údajový list“ musíme vybrať bunku A1, takže kód bude RANGE („A1“). Vyberte.
Kód:
Sub Range_Example1 () Pracovné listy ("Údajový list"). Rozsah ("A1"). Vyberte End Sub
Pri pokuse o vykonanie tohto kódu sa zobrazí nasledujúca chyba.

Dôvodom je „nemôžeme priamo dodať objekt rozsahu a zvoliť metódu objektu pracovných listov.“
Najskôr musíme vybrať alebo aktivovať pracovný hárok VBA a potom môžeme robiť čokoľvek, čo sme chceli.
Kód:
Sub Range_Example1 () Pracovné listy ("Údajový list"). Aktivujte rozsah ("A1"). Vyberte End Sub
Týmto sa vyberie bunka A1 v hárku „Údajový list“.

Príklad č. 2 - Práca s aktuálne vybraným rozsahom
Select je iná vec a práca s už vybraným rozsahom buniek je iná. Predpokladajme, že chcete do bunky A1 vložiť hodnotu „Hello VBA“, a potom to môžeme urobiť dvoma spôsobmi.
Najskôr môžeme priamo odovzdať kód VBA ako RANGE („A1“). Hodnota = „Dobrý deň, VBA.“
Kód:
Sub Range_Example1 () Range ("A1"). Value = "Hello VBA" End Sub
Tento kód urobí iba to, že do bunky A1 vloží hodnotu „Hello VBA“ bez ohľadu na to, ktorá bunka je momentálne vybratá.

Pozrite sa na vyššie uvedený výsledok kódu. Keď tento kód spustíme, vložil hodnotu „Hello VBA“, aj keď momentálne vybratá bunka je B2.
Po druhé, môžeme vložiť hodnotu do bunky pomocou vlastnosti „Výber“. Najprv musíme bunku vybrať manuálne a spustiť kód.
Kód:
Sub Range_Example1 () Selection.Value = "Hello VBA" End Sub
Tento kód urobí to, že do aktuálne vybratej bunky vloží hodnotu „Hello VBA“. Napríklad si pozrite nasledujúci príklad vykonania.

Keď som vykonal kód, moja aktuálne vybraná bunka bola B2 a náš kód vložil rovnakú hodnotu do aktuálne vybranej bunky.
Teraz vyberiem bunku B3 a vykonám, tiež dostaneme rovnakú hodnotu.

Ďalšou vecou, ktorú môžeme urobiť s vlastnosťou „selection“, je to, že môžeme vložiť hodnotu aj do viac ako jednej bunky. Napríklad teraz vyberiem rozsah buniek od A1 po B5.

Teraz, ak vykonám kód, pre všetky vybrané bunky dostaneme hodnotu ako „Hello VBA“.

Jednoduchý rozdiel medzi zadaním adresy bunky objektom RANGE a vlastnosťou Selection je teda v tom, že v kóde objektu Range vloží hodnotu do buniek, ktoré sú výslovne uvedené.
Ale v objekte Selection nezáleží na tom, v ktorej bunke sa nachádzate. Vloží spomínanú hodnotu do všetkých vybratých buniek.
Tu si treba pamätať
- Nemôžeme priamo dodať metódu výberu v časti Vlastnosť výberu.
- RANGE je objekt a výber je vlastnosť.
- Namiesto rozsahu môžeme použiť vlastnosť CELLS.