Rozsah výběru VBA | Jak vybrat rozsah v aplikaci Excel VBA?

Rozsah výběru Excel VBA

Po základním obsahu s VBA je důležité pochopit, jak pracovat s řadou buněk v listu. Jakmile začnete provádět kódy prakticky většinu času, musíte pracovat s řadou buněk. Je tedy důležité pochopit, jak pracovat s řadou buněk, a jedním z takových konceptů je VBA „Výběr rozsahu“. V tomto článku vám ukážeme, jak pracovat s „rozsahem výběru“ v aplikaci Excel VBA.

Výběr a rozsah jsou dvě různá témata, ale když řekneme, že chcete vybrat rozsah nebo výběr rozsahu, jedná se o jediný koncept. RANGE je objekt, „Selection“ je vlastnost a „Select“ je metoda. Lidé mají tendenci si s těmito pojmy pletou, je důležité znát rozdíly obecně.

Jak vybrat rozsah v aplikaci Excel VBA?

Tuto šablonu Excel VBA Selection Range si můžete stáhnout zde - Šablona Excel VBA Selection Range

Příklad č. 1

Předpokládejme například, že chcete vybrat buňku A1 v listu, pak nejprve musíme určit adresu buňky pomocí objektu RANGE, jak je uvedeno níže.

Kód:

Po zmínce buňky, kterou musíme vybrat, vložte tečku, abyste viděli seznam IntelliSense, který je přidružen k RANGE objektu.

Forma této rozmanitosti seznamů zvolí metodu „Select“.

Kód:

 Sub Range_Example1 () Range ("A1"). Vyberte End Sub 

Nyní tento kód vybere buňku A1 v aktivním listu.

Chcete-li vybrat buňku v různých pracovních listech, musíme nejprve zadat list podle názvu. K určení listu musíme použít objekt „WORKSHEET“ a zadat název listu v uvozovkách.

Chcete-li například vybrat buňku A1 v listu „Datový list“, zadejte nejprve list jako níže.

Kód:

 Sub Range_Example1 () Listy ("Datový list") End Sub 

Pak pokračujte v kódu a v této tabulce určete, co musíme udělat. V „Datovém listu“ musíme vybrat buňku A1, takže kód bude RANGE („A1“). Vyberte.

Kód:

 Sub Range_Example1 () Worksheets ("Data Sheet"). Range ("A1"). Select End Sub 

Když se pokusíte tento kód spustit, dostaneme níže uvedenou chybu.

Důvodem je „nemůžeme přímo dodat objekt rozsahu a vybrat metodu do objektu pracovních listů“.

Nejprve musíme vybrat nebo aktivovat list VBA, pak můžeme dělat cokoli, co jsme chtěli dělat.

Kód:

 Sub Range_Example1 () Worksheets ("Data Sheet"). Activate Range ("A1"). Select End Sub 

Nyní vyberete buňku A1 v listu „Datový list“.

Příklad č. 2 - Práce s aktuálně vybraným rozsahem

Select je jiná věc a práce s již vybraným rozsahem buněk je jiná. Předpokládejme, že chcete do buňky A1 vložit hodnotu „Hello VBA“, pak to můžeme udělat dvěma způsoby.

Nejprve můžeme přímo předat kód VBA jako RANGE („A1“). Hodnota = „Dobrý den, VBA“.

Kód:

 Sub Range_Example1 () Range ("A1"). Value = "Hello VBA" End Sub 

Co tento kód udělá, je, že do buňky A1 vloží hodnotu „Hello VBA“ bez ohledu na to, která buňka je aktuálně vybrána.

Podívejte se na výše uvedený výsledek kódu. Když tento kód provedeme, vložil hodnotu „Hello VBA“, přestože aktuálně vybraná buňka je B2.

Zadruhé můžeme hodnotu vložit do buňky pomocí vlastnosti „Výběr“. Nejprve musíme buňku vybrat ručně a spustit kód.

Kód:

 Sub Range_Example1 () Selection.Value = "Hello VBA" End Sub 

Tento kód udělá to, že do aktuálně vybrané buňky vloží hodnotu „Hello VBA“. Pro příklad se podívejte na níže uvedený příklad provedení.

Když jsem spustil kód, moje aktuální vybraná buňka byla B2 a náš kód vložil stejnou hodnotu do aktuálně vybrané buňky.

Nyní vyberu buňku B3 a provedu, tam také dostaneme stejnou hodnotu.

Ještě jedna věc, kterou můžeme udělat s vlastností „selection“, je, že můžeme vložit hodnotu do více než jedné buňky. Například nyní vyberu rozsah buněk od A1 do B5.

Nyní, když spustím kód, pro všechny vybrané buňky dostaneme hodnotu jako „Hello VBA“.

Jednoduchý rozdíl mezi zadáním adresy buňky objektem RANGE a vlastností Selection je tedy v tom, že v kódu objektu Range vloží hodnotu do buněk, které jsou výslovně uvedeny.

Ale v objektu Výběr nezáleží na tom, ve které buňce se nacházíte, vloží uvedenou hodnotu do všech vybraných buněk.

Na co si pamatovat zde

  • Metodu výběru nemůžeme přímo dodat ve vlastnosti Výběr.
  • RANGE je objekt a výběr je vlastnost.
  • Místo rozsahu můžeme použít vlastnost CELLS.

$config[zx-auto] not found$config[zx-overlay] not found