Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Namensmanager-Leichen entfernen

Forumthread: Namensmanager-Leichen entfernen

Namensmanager-Leichen entfernen
13.07.2017 08:36:50
STeve
Guten Morgen.........
Vorgeschichte:
kopiere ein Blatt - benenne es um - wie kann ich jetzt alle Einträge im Namensmanager (in der Spalte: Bezieht sich auf) mit =#Bezug entfernen:
ws.Cells.ClearOutline.......geht nicht.
Da mehrere Blätter kann ich nicht alle Namen entfernen.
so also:
Dim namName As Name
For Each namName In ActiveWorkbook.Names
If =#Bezug in der Spalte (Bezieht sich auf) vom Namensmanager then
namName.Delete
Else
End If
Next namName
Danke und mfg
STeve
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Namensmanager-Leichen entfernen
13.07.2017 08:43:07
Hajo_Zi
Hallo Steve,
mal aus meinem Code, das bekommst Du bestimm angepast.
If UCase(naName) "=#NAME?" And InStr(UCase(naName.Name), UCase("_FilterDatabase")) = 0 _
And InStr(UCase(naName.Name), "#BEZUG!") = 0 And InStr(UCase(naName.Name), UCase("#erf")) = 0 _
And InStr(UCase(naName.Name), "PRINT_AREA") = 0 Then

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben, mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Anzeige
AW: Namensmanager-Leichen entfernen
13.07.2017 08:48:37
STeve
Danke Hajo.......wie immer superschnelle Antwort.
Werde mich bemühen und reinhängen dass ich deine Lösung anpassen kann.
mfg STeve
AW: Namensmanager-Leichen entfernen
13.07.2017 09:10:39
Daniel
Hi

Sub NamenMitFehlerLöschen()
Dim nme As Name
For Each nme In ActiveWorkbook.Names
If nme.RefersTo Like "*[#]REF!*" Then nme.Delete
Next
End Sub
Gruß Daniel
Anzeige
DANKE an Daniel
13.07.2017 09:17:49
STeve
Hallo Daniel...DANKE..absolut perfekt...kurz und knackig und so was von schnell.
Mehr als beantwortet.
Wünsch dir einen schönen Tag.
lg STeve
;
Anzeige
Anzeige

Infobox / Tutorial

Namensmanager-Leichen entfernen


Schritt-für-Schritt-Anleitung

Um Einträge im Excel Namensmanager zu löschen, die auf =#Bezug verweisen, kannst du den folgenden VBA-Code verwenden:

Sub LeichenImNamensmanagerEntfernen()
    Dim namName As Name
    For Each namName In ActiveWorkbook.Names
        If namName.RefersTo = "=#Bezug" Then
            namName.Delete
        End If
    Next namName
End Sub
  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Wähle "Einfügen" > "Modul", um ein neues Modul zu erstellen.
  3. Füge den obigen Code in das Modul ein.
  4. Schließe den VBA-Editor und kehre zu Excel zurück.
  5. Drücke ALT + F8, wähle LeichenImNamensmanagerEntfernen und klicke auf "Ausführen".

Häufige Fehler und Lösungen

  • Fehler: Excel Namensmanager ausgegraut

    • Wenn der Namensmanager ausgegraut ist, könnte es sein, dass das Arbeitsblatt oder die Arbeitsmappe geschützt ist. Stelle sicher, dass der Schutz entfernt wurde.
  • Fehler: Excel Namen löschen nicht möglich

    • Überprüfe, ob der Name in Formeln verwendet wird oder ob er an ein geschütztes Blatt gebunden ist.
  • Fehler: _FilterDatabase Excel Error

    • Dieser Fehler tritt auf, wenn ein Filter auf einer Tabelle angewendet wird. Entferne den Filter, bevor du versuchst, die Namen zu löschen.

Alternative Methoden

Eine andere Methode, um die Einträge im Namensmanager zu löschen, ist die Nutzung des Excel-Bereichsnamen-Löschens:

  1. Gehe zu "Formeln" > "Namensmanager".
  2. Wähle die Namen aus, die du löschen möchtest.
  3. Klicke auf "Löschen".

Diese Methode ist nützlich, wenn du nur einige spezifische Namen entfernen möchtest.


Praktische Beispiele

Angenommen, du hast mehrere Blätter kopiert und dabei sind einige fehlerhafte Namen im Namensmanager entstanden. Du kannst den oben genannten Code verwenden, um alle Namen, die auf =#Bezug verweisen, zu entfernen.

Ein weiteres Beispiel ist das Löschen von Namen, die mit _FilterDatabase verbunden sind:

Sub FilterDatabaseNamenEntfernen()
    Dim namName As Name
    For Each namName In ActiveWorkbook.Names
        If InStr(UCase(namName.Name), "_FILTERDATABASE") > 0 Then
            namName.Delete
        End If
    Next namName
End Sub

Tipps für Profis

  • Nutze den Namensmanager regelmäßig, um die Übersichtlichkeit deiner Namen zu verbessern.
  • Halte deine Arbeitsmappe sauber, indem du nicht mehr verwendete Namen entfernst, um Fehler wie #NAME? zu vermeiden.
  • Wenn du mehrere Arbeitsblätter hast, die dieselben Namen verwenden, erwäge, eindeutige Namen zu vergeben, um Verwirrung zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich alle Namen im Excel Namensmanager löschen?
Du kannst alle Namen löschen, indem du den Namensmanager öffnest und die Namen manuell auswählst oder einen VBA-Code verwendest, um sie programmgesteuert zu entfernen.

2. Warum kann ich einen Namen nicht löschen?
Ein Name kann nicht gelöscht werden, wenn er in einer Formel verwendet wird oder wenn das Arbeitsblatt, auf das er verweist, geschützt ist.

3. Was bedeutet _FilterDatabase in Excel?
_FilterDatabase ist ein interner Name, der von Excel verwendet wird, um Filterinformationen für Tabellen zu speichern. Du kannst diese Namen löschen, wenn sie nicht mehr benötigt werden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige