Pojmenovaný rozsah VBA Jak vytvářet a používat pojmenované rozsahy?
Pojmenovaný rozsah Excel VBA
Když pracujeme s velkým množstvím dat, abychom se vyhnuli odkazování na konkrétní buňku nebo rozsahy buněk, obvykle vytváříme pojmenované rozsahy a umožňuje nám odkazovat na požadovaný rozsah buněk prostřednictvím pojmenovaného rozsahu. Ve VBA k vytvoření rozsahu jmen máme funkci Přidat název.
Můžeme vybrat buňku nebo oblast buněk a pojmenovat ji. Po pojmenování buněk můžeme na tyto buňky odkazovat zadáním těchto definovaných jmen namísto obvyklých odkazů na řádky nebo sloupce.
Tuto šablonu Excel pojmenovaného rozsahu VBA si můžete stáhnout zde - Šablona Excel pojmenovaného rozsahu VBAJak vytvořit pojmenované rozsahy?
Jedná se o procházku v parku k vytvoření pojmenovaných rozsahů. První věcí, kterou musíme udělat, je identifikovat buňky, které chceme v Excelu vytvořit.
Například se podívejte na obrázek níže.
Abych dosáhl zisku v buňce B4, použil jsem vzorec B2 - B3.
To je běžná věc, kterou každý dělá. Ale co takhle vytvořit Názvy a použít vzorec něco jako „Prodej“ - „Cena“.
Umístěte kurzor na buňku B2> Přejít na pole Název a zavolejte jej jako Prodej.
Umístěte kurzor na buňku B3 a nazvěte ji Cena.
Nyní ve sloupci zisk můžeme odkazovat na tyto názvy namísto odkazů na buňky.
Toto je základní věc o pojmenovaných rozsazích.
Jak vytvořit pojmenované rozsahy pomocí kódu VBA?
Příklad č. 1
Už jste někdy přemýšleli o vytvoření pojmenovaného rozsahu pomocí kódu VBA?
Podle níže uvedených kroků vytvořte pojmenovaný rozsah.
Krok 1: Definujte proměnnou jako „Rozsah“.
Kód:
Sub NamedRanges_Example () Dim Rng jako rozsah End Sub
Krok 2: Nyní nastavte proměnnou „Rng“ na konkrétní buňky, které chcete pojmenovat.
Kód:
Sub NamedRanges_Example () Dim Rng As Range Set Rng = Range ("A2: A7") End Sub
Krok 3: Pomocí objektu „ThisWorkbook“ získáte přístup k vlastnosti jmen.
Metodu Names.Add máme tolik parametrů . Níže jsou vysvětlení.
[Jméno]: Jméno není nic jiného než jaké jméno bychom chtěli dát rozsahu, který zadáme.
Při pojmenování buňky by neměla obsahovat žádné speciální znaky kromě podtržítka (_) a neměla by obsahovat ani mezery, neměla by začínat číselnými hodnotami.
[Odkazuje na]: Toto není nic jiného, než jaký je rozsah buněk, na které odkazujeme.
Myslím si, že tyto dva parametry jsou dost dobré na zahájení řízení.
Krok 4: V názvu zadá argument jméno, které chcete dát. Pojmenoval jsem „Prodejní čísla“.
Kód:
Sub NamedRanges_Example () Dim Rng As Range Set Rng = Range ("A2: A7") ThisWorkbook.Names.Add Name: = "SalesNumbers" End Sub
Krok 5: Do argumentu odkazuje na zadejte rozsah buněk, které chceme vytvořit. Ve jménu proměnné „Rng“ jsme již přiřadili rozsah buněk jako A2 až A7, proto zadejte argument jako „Rng“.
Kód:
Sub NamedRanges_Example () Dim Rng As Range Set Rng = Range ("A2: A7") ThisWorkbook.Names.Add Name: = "SalesNumbers", RefersTo: = Rng End Sub
Dobře, tento kód vytvoří pojmenovaný rozsah pro buňky od A2 do A7.
Nyní v listu jsem vytvořil několik čísel od A2 do A7.
V buňce A8 chci mít součet výše uvedených čísel buněk. Pomocí pojmenovaného rozsahu vytvoříme SOUČET těchto čísel.
Kód:
Sub NamedRanges_Example () Dim Rng As Range Set Rng = Range ("A2: A7") ThisWorkbook.Names.Add Name: = "SalesNumbers", RefersTo: = Rng Range ("A8"). Value = WorksheetFunction.Sum (Range ( "Prodejní čísla")) End Sub
Pokud tento kód spustíte ručně nebo stisknutím klávesy f5, dostaneme v buňce A8 součet pojmenovaného rozsahu.
Toto jsou základní fakta o „Pojmenovaných rozsazích“, která musíte znát.
Příklad č. 2
Ve VBA používajícím objekt RANGE můžeme odkazovat na buňky. Podobně můžeme tyto buňky také označit pomocí pojmenovaných rozsahů.
Například ve výše uvedeném příkladu jsme buňku B2 pojmenovali „Prodej“ a B3 jako „Cena“ .
Použitím skutečného odkazu na buňku odkazujeme na tyto buňky jako je tento.
Kód:
Sub NamedRanges () Range ("B2"). Select 'This will select the B2 cell Range ("B3"). Select' This will select the B3 cell End Sub
Protože jsme již tyto buňky vytvořili, můžeme odkazovat na používání těchto jmen, jako je níže.
Kód:
Sub NamedRanges () Range ("Sales"). Select 'This will select cell named as "Sales" ie B2 B2 Range Range ("Cost") Select Select' This will select cell named as "Cost" ie B3 cell End Sub
Podobně jako s použitím Pojmenovaných rozsahů můžeme tyto buňky využít. Pomocí těchto jmen můžeme vypočítat částku zisku v buňce B4. Pro toto křestní jméno je buňka B4 jako zisk.
Nyní v editoru VBA použijte tento kód.
Kód:
Sub NamedRanges_Example1 () Range ("Profit"). Hodnota = Range ("Sales") - Range ("Cost") End Sub
Tím se vypočítá částka zisku v buňce s názvem „Zisk“.