Gruppe
Funktion
Bereich
Vba
Thema
Namen löschen ohne Formeln zu zerstören
Problem
Wie kann ich die in einem Tabellenblatt vergebenen Bereichsnamen löschen, ohne daß die Formeln mit den Zellbezügen zu diesen Namen eine Fehlermeldung aufweisen?
Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.
StandardModule: basMain
Sub NamenLoeschen()
Dim nme As Name
Dim rng As Range
Dim sNew As String
For Each nme In ThisWorkbook.Names
For Each rng In ActiveSheet.UsedRange.Cells
If rng.HasFormula Then
If InStr(rng.Formula, nme.Name) > 0 Then
sNew = nme.RefersTo
sNew = Right(sNew, Len(sNew) - 1)
rng.Replace nme.Name, sNew
End If
End If
Next rng
nme.Delete
Next nme
End Sub