Come si ottiene un intervallo di tornare il suo nome?
-
26-09-2019 - |
Domanda
Dim sampleRange as Range
Set sampleRange = Worksheet.Range(Cells(1,1),Cells(1,4)
sampleRange.Name = "Range1"
MsgBox sampleRange.Name
Il codice qui sopra mostra l'indirizzo effettivo della gamma, non il nome. Perché?
Come faccio ad avere un intervallo denominato per restituire il suo nome?
Soluzione
Per un intervallo, nome non è una stringa è un oggetto di nome, che poi prende la proprietà Name per ottenere la stringa:
MsgBox sampleRange.Name.Name
Altri suggerimenti
sampleRange.Name = "Range1" per citarne la gamma è povero pratica
Funziona solo perché Nome (la stringa contenente "The Name") è di proprietà di default del nome.
Molto meglio sampleRange.Name.Name = "Range1"
Non è mai buona norma utilizzare la proprietà predefinita senza fare riferimento ad esso in modo esplicito.
Buona programmazione controlla esattamente l'ambiente facendo riferimento in modo esplicito alla proprietà richiesta.
Rimuove l'ambiguità come ha creato il problema qui. Elimina il problema creato se la proprietà predefinita viene modificata in un aggiornamento futuro.