Nastavte rozsah v programe Excel VBA
Nastaviť rozsah v vba znamená, že zadáme daný rozsah pre kód alebo postup, ktorý sa má vykonať, ak neposkytneme konkrétny rozsah pre kód, automaticky prevezme rozsah z hárka, ktorý má aktívnu bunku, takže je veľmi dôležité v kód na nastavenie premennej rozsahu.
Po toľkých rokoch práce s programom Excel ste určite pochopili skutočnosť, že všetky práce, ktoré robíme, sú uvedené na pracovnom hárku a v pracovných hárkoch sú to bunky, ktoré obsahujú údaje. Takže ak sa chcete pohrať s údajmi, musíte byť vzorcom správania buniek v pracovných hárkoch. Keď sa teda spojí viac buniek, stane sa z nich RANGE. Ak sa chcete naučiť VBA, mali by ste vedieť všetko o bunkách a rozsahoch. V tomto článku vám teda ukážeme, ako podrobne nastaviť rozsah buniek, ktoré je možné použiť na kódovanie VBA.

Čo je to Range Range?
Rozsah vo VBA sa označuje ako objekt. Rozsah môže obsahovať jednu bunku, viac buniek, riadok alebo stĺpec atď.…
Vo VBA môžeme rozsah klasifikovať ako je uvedené nižšie.
„Aplikácia >>> Pracovný zošit >>> Pracovný list >>> Rozsah“
Najprv musíme získať prístup k Aplikácii. Potom v tejto časti musíme odkázať na ktorý zošit, na ktorý odkazujeme, a v zošite odkazujeme na to, na ktorý pracovný hárok odkazujeme, a potom v hárku musíme spomenúť rozsah buniek.
Pomocou rozsahu buniek môžeme zadať hodnotu do bunky alebo buniek, môžeme čítať alebo získavať hodnoty z bunky alebo buniek, môžeme ich mazať, formátovať a môžeme robiť aj veľa ďalších vecí.
Ako získať prístup k rozsahu buniek v programe Excel VBA?
V kódovaní VBA môžeme bunku označiť pomocou vlastnosti VBA CELLS a objektu RANGE. Napríklad, ak sa chcete najskôr odvolať na bunku A1, uvidíme použitie objektu RANGE.
Vo vnútri podprocesu musíme najskôr otvoriť objekt RANGE.
Kód:
Sub Range_Examples () Range (End Sub

Ako vidíte vyššie, objekt RANGE sa pýta, čo je to bunka, na ktorú odkazujeme. Musíme teda zadať adresu bunky v dvojitých úvodzovkách.
Kód:
Sub Range_Examples () Range ("A1") End Sub

Po zadaní adresy bunky musíme pomocou vlastností a metód rozhodnúť, čo robiť s touto bunkou. Teraz vložte bodku, aby ste videli vlastnosti a metódy objektu RANGE.

Ak chceme vložiť hodnotu do bunky, musíme zvoliť vlastnosť „Hodnota“.
Kód:
Sub Range_Examples () Range ("A1"). Hodnota Koniec Sub

Ak chcete nastaviť hodnotu, musíme vložiť znamienko rovnosti a zadať hodnotu, ktorú chceme vložiť do bunky A1.
Kód:
Sub Range_Examples () Range ("A1"). Value = "Excel VBA Class" End Sub

Spustite kód cez možnosť spustenia a pozrite sa na kúzlo v bunke A1.

Ako bolo uvedené v kóde, hodnotu sme dostali v bunke A1.
Podobne môžeme bunku označiť aj pomocou vlastnosti CELLS. Otvorte vlastnosť CELLS a pozrite si syntax.

Je to na rozdiel od objektu RANGE, kde môžeme adresu bunky zadávať priamo v úvodzovkách. Namiesto toho musíme uviesť číslo riadku a stĺpec, ktorý odkazuje na bunku. Pretože máme na mysli bunku A1, môžeme povedať, že riadok je 1 a stĺpec je 1.

Po spomenutí adresy bunky môžeme na prácu s bunkami použiť vlastnosti a metódy. Ale problém je tu na rozdiel od rozsahu objektu po vložení bodky. Zoznam IntelliSense sa nám nezobrazuje.

Musíte byť odborníkom, aby ste na bunky odkazovali pomocou vlastnosti CELLS.
Kód:
Sub CELLS_Examples () Cells (1, 1). Value = "Excel VBA Class" End Sub

Prístup k viacerým bunkám a nastavenie referenčného rozsahu vo VBA
Jedným z veľkých rozdielov medzi CELLS & RANGE je použitie CELLS. Máme prístup iba k jednej bunke, ale s použitím RANGE. Máme tiež prístup k viacerým bunkám.
Napríklad pre bunky A1 až B5, ak chceme hodnotu 50, môžeme napísať kód, ako je uvedené nižšie.
Kód:
Sub Range_Examples () Range ("A1: B5"). Hodnota = 50 End Sub

Takto vložíte hodnotu 50 z bunky A1 do B5.

Namiesto priameho odkazu na bunky môžeme pomocou premennej uchovať odkaz na určené bunky.
Najskôr definujte premennú ako objekt „Range“.
Kód:
Sub Range_Examples () Dim Rng As Range End Sub

Keď je premenná definovaná ako objekt „Rozsah“, musíme pre túto premennú nastaviť referenciu o tom, na ktoré adresy buniek sa bude odkaz vzťahovať.
Na nastavenie referencie je potrebné použiť kľúčové slovo „SET“ a zadať adresy buniek pomocou objektu RANGE.
Kód:
Sub Range_Examples () Dim Rng As Range Set Rng = Range ("A1: B5") End Sub

Teraz sa premenná „Rng“ vzťahuje na bunky A1 až B5.
Namiesto písania rozsahu adries buniek („A1: B5“) môžeme jednoducho použiť názov premennej „Rng“.
Kód:
Sub Range_Examples () Dim Rng As Range Set Rng = Range ("A1: B5") Rng.Value = "Range Range" End Sub

Týmto sa vloží spomínaná hodnota z bunky A1 do bunky B5.

Predpokladajme, že chcete, aby čokoľvek mala byť vybratá bunka referenciou, potom môžeme nastaviť referenciu nasledovne.
Kód:
Sub Range_Examples () Dim Rng As Range Set Rng = výber Rng.Value = "nastavenie rozsahu" End Sub

Toto je krása, pretože ak vyberiem ktorúkoľvek z buniek a spustím, vloží hodnotu aj do týchto buniek.
Napríklad vyberiem určité bunky.

Teraz vykonám kód a uvidím, čo sa stane.

Pre všetky vybraté bunky vložila hodnotu.
Takto môžeme nastaviť referenciu rozsahu deklarovaním premenných vo VBA.
Na čo treba pamätať
- Rozsah môže vybrať viac buniek, ale CELLS môže vybrať jednu bunku súčasne.
- RANGE je objekt a CELLS je majetok.
- Akákoľvek premenná objektu by mala byť nastavená ako odkaz na objekt pomocou kľúčového slova SET.