Nazwany zakres VBA

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łać się do tych komórek, wprowadzając te zdefiniowane nazwy zamiast zwykłych odwołań do wierszy lub kolumn.

Możesz pobrać ten szablon programu Excel o nazwie zakresu VBA tutaj - szablon programu Excel o nazwie zakresu VBA

Jak tworzyć nazwane zakresy?

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

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

Aby otrzymać 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 zysków 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: Użycie właściwości Names dostępu do obiektu „ThisWorkbook”.

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

[Nazwa]: Nazwa to nic innego jak nazwa, którą chcielibyśmy nadać określonemu zakresowi.

Nazywanie komórki nie powinno zawierać żadnych znaków specjalnych poza znakiem podkreślenia (_), nie powinno również zawierać znaków spacji, nie powinno 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 argumencie odnosi się do wprowadź zakres komórek, które chcemy utworzyć. W nazwie zmiennej „Rng” przypisaliśmy już zakres komórek od A2 do A7, dlatego argument należy podać 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.

W komórce A8 chcę mieć sumę powyższych numerów komórek. Używając nazwanego zakresu, utworzymy SUMĘ tych liczb.

Kod:

 Sub NamedRanges_Example () Dim Rng As Range Ustaw Rng = Range ("A2: A7") ThisWorkbook.Names.Add Name: = "SalesNumbers", RefersTo: = Rng Range ("A8"). Value = WorksheetFunction.Sum (Range ( „SalesNumbers”)) End Sub 

Jeśli uruchomisz ten kod ręcznie lub naciskając klawisz F5, otrzymamy sumę nazwanego zakresu w komórce A8.

To są podstawowe fakty, które trzeba wiedzieć o „nazwanych zakresach”.

Przykład nr 2

W VBA za pomocą obiektu RANGE możemy odwołać się do komórek. Podobnie możemy również odwoływać się do tych komórek, używając nazwanych zakresów.

Na przykład w powyższym przykładzie nazwaliśmy komórkę B2 jako „Sprzedaż”, a B3 jako „Koszt” .

Używając rzeczywistego odwołania do komórki, odnosimy się do tych komórek w ten sposób.

Kod:

 Sub NamedRanges () Range ("B2"). Wybierz „Spowoduje to wybranie zakresu komórki B2 („ B3 ”). Wybierz„ Spowoduje to wybranie komórki B3 End Sub 

Ponieważ utworzyliśmy już te komórki, możemy odwołać się do tych nazw, jak poniżej.

Kod:

 Sub NamedRanges () Range („Sales”). Wybierz „Spowoduje to wybranie komórki o nazwie„ Sales ”, czyli Zakres komórek B2 („ Cost ”). 

W ten sposób, używając nazwanych zakresów, możemy wykorzystać te komórki. Korzystając z tych nazwanych, możemy obliczyć kwotę zysku w komórce B4. Na początku nazwij komórkę B4 jako Zysk.

Teraz w edytorze VBA zastosuj ten kod.

Kod:

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

This will calculate the profit amount in the cell named “Profit”.