Unbenutzte Namensbereiche finden
27.02.2024 08:14:48
Ben
durch Zusammenführen von Tabellenblättern habe ich Chaos in meinen Namensbereichen bekommen.
Ich habe leider viele unbenutzte Namensbereiche.
Diese möchte ich herausfinden. Geht das überhaupt?
Ich habe folgendes probiert:
Sub FindUnusedNamedRanges()
Dim ws As Worksheet
Dim nm As name
Dim cellAddress As String
Dim isUsed As Boolean
' Arbeitsblatt festlegen
Set ws = ThisWorkbook.Sheets("Welle 3 EU")
' Durch alle benannten Bereiche iterieren
For Each nm In ThisWorkbook.Names
' Standardmäßig davon ausgehen, dass der Bereich nicht verwendet wird
isUsed = False
' Durch jede Zelladresse im benannten Bereich iterieren
For Each cellAddress In Split(nm.RefersTo, ",")
' Überprüfen, ob die Zelladresse Teil des UsedRange des Arbeitsblatts ist
If Not Intersect(ws.Range(cellAddress), ws.UsedRange) Is Nothing Then
isUsed = True
Exit For
End If
Next cellAddress
' Wenn der benannte Bereich nicht verwendet wird, Meldung ausgeben
If Not isUsed Then
MsgBox "Unbenutzter Namensbereich gefunden: " & nm.name
End If
Next nm
End Sub
Findet aber leider nichts, obwohl die Namensbereiche definitv nicht benutzt werden.
Vielen Dank im Voraus!