Szukaj…


Wprowadzenie

Temat powinien zawierać informacje związane z nazwanymi zakresami w programie Excel, w tym metody tworzenia, modyfikowania, usuwania i uzyskiwania dostępu do zdefiniowanych nazwanych zakresów.

Zdefiniuj nazwany zakres

Korzystanie z nazwanych zakresów pozwala opisać znaczenie zawartości komórki (komórek) i użyć tej zdefiniowanej nazwy zamiast rzeczywistego adresu komórki.

Na przykład formułę =A5*B5 można zastąpić wartością =Width*Height aby uczynić formułę znacznie łatwiejszą do odczytania i zrozumienia.

Aby zdefiniować nowy nazwany zakres, wybierz komórkę lub komórki do nazwania, a następnie wpisz nową nazwę w polu Nazwa obok paska formuły.

wprowadź opis zdjęcia tutaj


Uwaga: Domyślnie zakresy nazwane mają zasięg globalny, co oznacza, że można do nich uzyskać dostęp z dowolnego miejsca w skoroszycie. Starsze wersje programu Excel pozwalają na powielanie nazw, dlatego należy zachować ostrożność, aby zapobiec powielaniu nazw o zasięgu globalnym, w przeciwnym razie wyniki będą nieprzewidywalne. Użyj Menedżera nazw z zakładki Formuły, aby zmienić zakres.

Korzystanie z nazwanych zakresów w VBA

Utwórz nowy nazwany zakres o nazwie „MyRange” przypisany do komórki A1

ThisWorkbook.Names.Add Name:="MyRange", _
    RefersTo:=Worksheets("Sheet1").Range("A1")

Usuń zdefiniowany nazwany zakres według nazwy

ThisWorkbook.Names("MyRange").Delete

Uzyskaj dostęp do nazwanego zakresu według nazwy

Dim rng As Range
Set rng = ThisWorkbook.Worksheets("Sheet1").Range("MyRange")
Call MsgBox("Width = " & rng.Value)

Uzyskaj dostęp do nazwanego zakresu za pomocą skrótu

Tak jak każdy inny zakres , do nazwanych zakresów można uzyskać bezpośredni dostęp za pomocą notacji skrótowej, która nie wymaga utworzenia obiektu Range . Trzy wiersze powyższego fragmentu kodu można zastąpić jednym wierszem:

Call MsgBox("Width = " & [MyRange])

Uwaga: Domyślną właściwością zakresu jest jego wartość, więc [MyRange] jest taki sam jak [MyRange].Value

Możesz także wywoływać metody z zakresu. Następujące wybiera MyRange :

[MyRange].Select

Uwaga: jednym zastrzeżeniem jest to, że notacja skrótowa nie działa ze słowami, które są używane gdzie indziej w bibliotece VBA. Na przykład zakres o nazwie Width nie byłby dostępny jako [Width] ale działałby zgodnie z oczekiwaniami, gdyby był dostępny za pośrednictwem ThisWorkbook.Worksheets("Sheet1").Range("Width")

Zarządzaj nazwanymi zakresami za pomocą Menedżera nazw

Karta Formuły> grupa Zdefiniowane nazwy> przycisk Menedżer nazw

Named Manager pozwala na:

  1. Utwórz lub zmień nazwę
  2. Utwórz lub zmień odwołanie do komórki
  3. Utwórz lub zmień zakres
  4. Usuń istniejący nazwany zakres

wprowadź opis zdjęcia tutaj


Nazwany menedżer zapewnia przydatne szybkie wyszukiwanie uszkodzonych linków.

wprowadź opis zdjęcia tutaj

Nazwane tablice zasięgu

Przykładowy arkusz

wprowadź opis zdjęcia tutaj


Kod

Sub Example()
    Dim wks As Worksheet
    Set wks = ThisWorkbook.Worksheets("Sheet1")
    
    Dim units As Range
    Set units = ThisWorkbook.Names("Units").RefersToRange
    
    Worksheets("Sheet1").Range("Year_Max").Value = WorksheetFunction.Max(units)
    Worksheets("Sheet1").Range("Year_Min").Value = WorksheetFunction.Min(units)
End Sub

Wynik

wprowadź opis zdjęcia tutaj



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow