Nazwany zakres VBA - Jak tworzyć i używać nazwanych zakresów?

Spisie treści

Nazwany zakres Excel VBA

Kiedy pracujemy z dużą ilością danych, aby uniknąć odwoływania się do określonej komórki lub zakresów komórek, zwykle tworzymy nazwane zakresy, które pozwalają nam odwoływać się do wymaganego zakresu komórek za pośrednictwem nazwanego zakresu. W VBA do tworzenia zakresu nazw mamy funkcję Dodaj nazwę.

Możemy wybrać komórkę lub zakres komórek i nadać mu nazwę. Po nazwaniu komórek możemy odwoływać się do tych komórek, wprowadzając te zdefiniowane nazwy zamiast zwykłych odwołań do wierszy lub kolumn.

Jak tworzyć nazwane zakresy?

Tworzenie nazwanych zakresów to spacer po parku. Pierwszą rzeczą, którą musimy zrobić, jest zidentyfikowanie komórek, które chcemy utworzyć w programie Excel.

Na przykład spójrz na poniższy obrazek.

Aby uzyskać zysk w komórce B4, zastosowałem wzór B2 - B3.

To powszechna rzecz, którą wszyscy robią. Ale co powiesz na tworzenie nazw i zastosowanie formuły w stylu „Sprzedaż” - „Koszt”.

Umieść kursor w komórce B2> Idź do pola Nazwa i nazwij ją sprzedażą.

Umieść kursor na komórce B3 i nazwij ją Koszt.

Teraz w kolumnie zysku możemy odnieść się do tych nazw zamiast odwołań do komórek.

To podstawowa rzecz dotycząca nazwanych zakresów.

Jak tworzyć nazwane zakresy za pomocą kodu VBA?

Przykład 1

Czy kiedykolwiek myślałeś o utworzeniu nazwanego zakresu za pomocą kodu VBA?

Wykonaj poniższe czynności, aby utworzyć nazwany zakres.

Krok 1: Zdefiniuj zmienną jako „Zakres”.

Kod:

Sub NamedRanges_Example () Dim Rng As Range End Sub

Krok 2: Teraz ustaw zmienną „Rng” na określone komórki, które chcesz nazwać.

Kod:

Sub NamedRanges_Example () Dim Rng As Range Set Rng = Range ("A2: A7") End Sub

Krok 3: Za pomocą obiektu „ThisWorkbook” dostęp do właściwości Names.

W metodzie Names.Add mamy tyle parametrów . Poniżej znajdują się wyjaśnienia.

(Nazwa): Nazwa to nic, ale jaką nazwę chcielibyśmy nadać określonemu zakresowi.

Nazywanie komórki nie powinno zawierać żadnych znaków specjalnych poza symbolem podkreślenia (_), a także nie powinno zawierać znaków spacji. Nie powinien zaczynać się od wartości liczbowych.

(Odnosi się do): To nic innego jak zakres komórek, do których się odnosimy.

Myślę, że te dwa parametry są wystarczająco dobre, aby rozpocząć postępowanie.

Krok 4: W nazwie argument wpisuje nazwę, którą chcesz nadać. Nazwałem jako „SalesNumbers”.

Kod:

Sub NamedRanges_Example () Dim Rng As Range Set Rng = Range ("A2: A7") ThisWorkbook.Names.Add Name: = "SalesNumbers" End Sub

Krok 5: W odwołuje się do argumentu, wprowadź zakres komórek, które chcemy utworzyć. W nazwie zmiennej „Rng” już przypisaliśmy zakres komórek od A2 do A7, więc podaj argument jako „Rng”.

Kod:

Sub NamedRanges_Example () Dim Rng As Range Set Rng = Range ("A2: A7") ThisWorkbook.Names.Add Name: = "SalesNumbers", RefersTo: = Rng End Sub

Ok, ten kod utworzy nazwany zakres dla komórek od A2 do A7.

Teraz w arkuszu stworzyłem kilka liczb od A2 do A7.

In the A8 cell, I want to have the total of the above cell numbers. Using the named range, we will create a SUM of these numbers.

Code:

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("SalesNumbers")) End Sub

If you run this code manually or by pressing the f5 key then, we will get the total of a named range in cell A8.

This is the basic must-know facts about “Named Ranges.”

Example #2

In VBA using RANGE object, we can refer to the cells. Similarly, we can also refer to those cells by using named ranges as well.

For example, in the above example, we have named the cell B2 as “Sales” and B3 as “Cost.”

By using actual cell reference, we refer to those cells like this.

Code:

Sub NamedRanges() Range("B2").Select 'This will select the B2 cell Range("B3").Select 'This will select the B3 cell End Sub

Since we already created these cells, we can refer to using those names like below.

Code:

Sub NamedRanges() Range("Sales").Select 'This will select cell named as "Sales" i.e. B2 cell Range("Cost").Select 'This will select cell named as "Cost" i.e. B3 cell End Sub

Like this, using Named Ranges, we can make use of those cells. Using these names, we can calculate the profit amount in cell B4. For this first name, the cell B4 as Profit.

Now in the VBA editor, apply this code.

Code:

Sub NamedRanges_Example1() Range("Profit").Value = Range("Sales") - Range("Cost") End Sub

Spowoduje to obliczenie kwoty zysku w komórce o nazwie „Zysk”.

Interesujące artykuły...