Come eliminare un intervallo denominato utilizzando vba (con esempio)
È possibile utilizzare la seguente sintassi in VBA per eliminare intervalli denominati da una cartella di lavoro di Excel:
Sub DeleteNamedRanges()
Dim NamedRange As Name
For Each NamedRange In ActiveWorkbook.Names
If NamedRange.Visible Then NamedRange.Delete
Next NamedRange
End Sub
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: eliminare intervalli denominati in una cartella di lavoro di Excel utilizzando VBA
Supponiamo di avere una cartella di lavoro di Excel contenente i seguenti tre intervalli denominati:
- Un intervallo denominato denominato nome_foglio1 in Foglio1
- Un intervallo denominato denominato nome_foglio2 in Foglio2
- Un intervallo denominato denominato sheet3_name in Sheet3
Per visualizzare ciascuno di questi intervalli denominati, è sufficiente fare clic sulla freccia a discesa nella casella Nome nell’angolo in alto a sinistra del foglio di lavoro:
Diciamo che vogliamo eliminare ciascuno di questi intervalli denominati.
Per fare ciò possiamo creare la seguente macro:
Sub DeleteNamedRanges()
Dim NamedRange As Name
For Each NamedRange In ActiveWorkbook.Names
If NamedRange.Visible Then NamedRange.Delete
Next NamedRange
End Sub
Una volta eseguita questa macro, tutti gli intervalli denominati nell’intera cartella di lavoro verranno eliminati.
Possiamo verificare che siano stati eliminati facendo nuovamente clic sulla casella Nome nell’angolo in alto a sinistra di uno dei fogli:
Possiamo vedere che la casella Nome non contiene più i nomi degli intervalli denominati.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
VBA: come incollare solo valori senza formattazione
VBA: come copiare linee visibili su un altro foglio
VBA: copia le righe su un altro foglio in base a criteri