excel-vba
Gamme nominate
Ricerca…
introduzione
Definisci un intervallo con nome
L'utilizzo degli intervalli denominati consente di descrivere il significato di un contenuto di celle e di utilizzare questo nome definito al posto di un effettivo indirizzo di cella.
Ad esempio, formula =A5*B5
può essere sostituita con =Width*Height
per rendere la formula più facile da leggere e capire.
Per definire un nuovo intervallo denominato, selezionare la cella o le celle da assegnare al nome e quindi digitare il nuovo nome nella casella Nome accanto alla barra della formula.
Nota: gli intervalli denominati sono predefiniti come ambito globale, il che significa che è possibile accedervi da qualsiasi posizione all'interno della cartella di lavoro. Le versioni precedenti di Excel consentono nomi duplicati, quindi è necessario prestare attenzione per evitare nomi duplicati di ambito globale, altrimenti i risultati saranno imprevedibili. Utilizzare la Gestione nomi dalla scheda Formule per modificare l'ambito.
Utilizzo di intervalli denominati in VBA
Crea un nuovo intervallo denominato "MyRange" assegnato alla cella A1
ThisWorkbook.Names.Add Name:="MyRange", _
RefersTo:=Worksheets("Sheet1").Range("A1")
Elimina l' intervallo con nome definito per nome
ThisWorkbook.Names("MyRange").Delete
Accedi all'intervallo con nome per nome
Dim rng As Range
Set rng = ThisWorkbook.Worksheets("Sheet1").Range("MyRange")
Call MsgBox("Width = " & rng.Value)
Accedi a un intervallo con nome con un collegamento
Proprio come qualsiasi altro intervallo , è possibile accedere direttamente agli intervalli denominati tramite una notazione di collegamento che non richiede la creazione di un oggetto Range
. Le tre righe del codice di cui sopra possono essere sostituite da una singola riga:
Call MsgBox("Width = " & [MyRange])
Nota: la proprietà predefinita per un intervallo è il valore, quindi
[MyRange]
è uguale a[MyRange].Value
Puoi anche chiamare i metodi nell'intervallo. Quanto segue seleziona MyRange
:
[MyRange].Select
Nota: un avvertimento è che la notazione di collegamento non funziona con le parole che vengono utilizzate altrove nella libreria VBA. Ad esempio, un intervallo denominato
Width
non sarebbe accessibile come[Width]
ma funzionerebbe come previsto se si accede tramiteThisWorkbook.Worksheets("Sheet1").Range("Width")
Gestisci intervalli denominati utilizzando Name Manager
Scheda Formule> gruppo Nomi definiti> pulsante Gestione nomi
Named Manager ti consente di:
- Crea o cambia nome
- Crea o cambia riferimento di cella
- Crea o cambia ambito
- Elimina l'intervallo con nome esistente
Named Manager fornisce un'utile ricerca rapida di link non funzionanti.
Array gamma nominati
Foglio di esempio
Codice
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
Risultato