Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Namen löschen ohne Formeln zu zerstören

Gruppe

Vba

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