Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Komischer Name _xlfn.IFERROR lässt sich nicht löschen

Forumthread: Komischer Name _xlfn.IFERROR lässt sich nicht löschen

Komischer Name _xlfn.IFERROR lässt sich nicht löschen
14.02.2026 17:15:07
Jürgen19
Hallo

beim Aufräumen nicht mehr Benutzer Name lasse ich mir zuerst alle in der Arbeitsmappe vorhandenen Namen auflisten
Sub get_names()

'
' listet alle Namen in der Tabelle "Refs" auf
'
Dim row_is As Long
Dim name_is As name
'
row_is = 1
On Error Resume Next
Sheets("Refs").Select
If Err > 0 Then
Sheets.Add
ActiveSheet.name = "Refs"
End If ' Err > 0
Cells.Clear
Err.Clear
On Error GoTo 0
Cells(row_is, 1) = "Name"
Cells(row_is, 2) = "Locaion"
row_is = 2
'
For Each name_is In ActiveWorkbook.Names
Cells(row_is, 1) = name_is.name
Cells(row_is, 2) = "'" & name_is.RefersTo
row_is = row_is + 1
Next ' Each name_is In ActiveWorkbook.Names
'
End Sub


das sieht dann so aus:
Name	Locaion

Agenda laufend'!_FilterDatabase ='Agenda laufend'!$A$1:$AY$1842
Mitglieder Liste'!_FilterDatabase ='Mitglieder Liste'!$A$1:$AW$327
Rechnungsadressen!_FilterDatabase =Rechnungsadressen!$C$1:$M$2
Verfügbarkeit_leer!_FilterDatabase =Verfügbarkeit_leer!$A$8:$K$11
Ziele!_FilterDatabase =Ziele!$A$1:$R$730
_xlfn.IFERROR =#NAME?
beitrag_e =DiverseTabellen!$M$2
beitrag_eg =DiverseTabellen!$M$4
beitrag_ep =DiverseTabellen!$M$3

Das funktioniert bestens. Allerdings tauchen dann so Namen auf wie
_xlfn.IFERROR =#NAME?
Schaue ich im Namens-Manager nach, sind sie nicht zu finden.
Mit
      ActiveWorkbook.Names("_xlfn.IFERROR").Delete


lässt sich der Eintrag nicht löschen.
Wie lässt der sich löschen?
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Komischer Name _xlfn.IFERROR lässt sich nicht löschen
14.02.2026 17:23:41
BoskoBiati
Hi,

_xlfn.IFERROR bedeutet, dass es sich um eine Funktion handelt, die in der Excel-Version nicht vorhanden ist.
Also mußt Du alle Formeln löschen, die einen derartigen Fehler enthalten.


Gruß

Edgar
AW: ... suche manuell ...
15.02.2026 08:58:28
schauan
mit der Suchfunktion im Blatt nach #Name oder lass das ein Makro tun :-)
Anzeige
Diese "versteckten/ausgeblendeten" Namen...
15.02.2026 11:45:13
Case
Moin Jürgen, :-)

... kannst du IMHO nicht per VBA löschen. ;-)

Userbild

Diese Namen entstehen entweder durch die Nutzung von Addins, oder, wenn die Datei in einer alten Excel-Version geöffnet wird (das ist der häufigste Grund). ;-)

Löschen geht aber trotzdem (mit der Hand am Arm): ;-)

Option Explicit

Public Sub Main()
Dim nmName As Name
For Each nmName In ThisWorkbook.Names
If nmName.Visible = False Then
nmName.Visible = True
End If
Next nmName
End Sub

Nun siehst du die (vorher ausgeblendeten) Namen im "Namens-Manager". Dort kannst du sie anklicken und löschen. ;-)

Ich würde das mit Vorsicht genießen - es könnte deine Datei u. U. auch beschädigen. Wenn die Datei in einer alten Excel-Version geöffnet wird, sind die Namen wieder da. ;-)

Servus
Case
Anzeige
AW: Diese "versteckten/ausgeblendeten" Namen...
15.02.2026 12:43:19
Jürgen19
Hallo Case

Super, hat funktionert!
AW: ... suche manuell ...
15.02.2026 09:16:09
Jürgen19
Alle Blätter ausgewählt und in der Suchfunktion #Name? eingegeben. Resultat: nichts gefunden. Namen nochmals aufgelistet, jetzt ist zusätzlich _xlfn.SINGLE vorhanden ???
AW: Komischer Name _xlfn.IFERROR lässt sich nicht löschen
14.02.2026 22:18:25
Jürgen19
Und wie finde ich die?
Anzeige
AW: Komischer Name _xlfn.IFERROR lässt sich nicht löschen
15.02.2026 09:56:15
Piet
Hallo

das ist ein uralter Code aus dem Herber Forum um Formeln aufzulisten.
Vielleicht erkennst du damit Formeln wo ein Fehler drin sein könnte?
Probier es einfach mal aus. Sonst bitte Datei mal hochladen.

mfg Piet

Option Explicit       'Verknüpfungen Hajo


Sub Verknuepfte_Zellen()
'**************************************************
'* H. Ziplies *
'* 24.08.08 *
'* erstellt von HajoZiplies@web.de *
'* http://Hajo-Excel.de/ *
'**************************************************
Dim RaZelle As Range ' Variable für aktuelle Zelle
Dim ByMldg As Byte ' Variable Meldung
Dim WsSh As Worksheet ' Variable Tabelle
Dim ObZelle As Object ' Variable für Namen

On Error Resume Next
Set WsSh = Worksheets("Verknüpfungen")
If WsSh Is Nothing Then
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = "Verknüpfungen"
End If

On Error GoTo Fehler1 ' Fehlerbehandlung
Application.ScreenUpdating = False ' Bildschirmaktualisierung ausschalten
With Worksheets("Verknüpfungen")
' Überschriftszeilen
' Formel mit Ergebnis Fehler
.Cells.ClearContents
.Cells(1, 1) = "Formel mit Ergebnis Fehler"
.Cells(2, 1) = "Zelle"
.Cells(2, 2) = "Tabelle"
.Cells(2, 3) = "Formel"
' Formel zu anderen Arbeitsmappe
.Cells(1, 5) = "Formel zu anderen Arbeitsmappe"
.Cells(2, 5) = "Zelle"
.Cells(2, 6) = "Tabelle"
.Cells(2, 7) = "Formel"
' Formel zu anderen Tabellen in dieser Arbeitsmappe
.Cells(1, 9) = "andere Tabelle"
.Cells(2, 9) = "Zelle"
.Cells(2, 10) = "Tabelle"
.Cells(2, 11) = "Formel"
' restliche Formel
.Cells(1, 13) = "Rest"
.Cells(2, 13) = "Zelle"
.Cells(2, 14) = "Tabelle"
.Cells(2, 15) = "Formel"
' definierte Namen in dieser Arbeitsmappe
.Cells(1, 17) = "definierte Namen"
.Cells(2, 17) = "Name"
.Cells(2, 18) = "Zelle"
.Cells(2, 19) = "Tabelle"
Rows("1:2").Font.Bold = True
End

For Each WsSh In Worksheets ' Schleife über alle Tabellen
If WsSh.Name > "Verknüpfungen" Then
' Schutz aufheben falls vorhanden
' WsSh.Unprotect "Passwort"
On Error Resume Next
Set RaZelle = WsSh.UsedRange.SpecialCells(xlCellTypeFormulas)
Set RaZelle = Nothing
If Err.Number = 0 Then
On Error GoTo 0
' Schleife über den benuzten Bereich mit Formel
For Each RaZelle In WsSh.UsedRange.SpecialCells(xlCellTypeFormulas)
' Formeln mit Fehler
If IsError(RaZelle.Value) Then
.Cells(.Cells(.Rows.Count, 1).End(xlUp).Row + 1, 1) _
= RaZelle.Address(0, 0)
.Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, 2) _
= CStr(WsSh.Name)
.Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, 3) _
= "'" & RaZelle.FormulaLocal
' Formel zu anderer Arbeitsmappe
ElseIf InStr(RaZelle.Formula, ":\") > 0 Then
.Cells(.Cells(.Rows.Count, 5).End(xlUp).Row + 1, 5) _
= RaZelle.Address(0, 0)
.Cells(.Cells(.Rows.Count, 5).End(xlUp).Row, 6) _
= CStr(WsSh.Name)
.Cells(.Cells(.Rows.Count, 5).End(xlUp).Row, 7) _
= "'" & RaZelle.FormulaLocal
' Formel zu andere Tabelle
ElseIf InStr(RaZelle.Formula, "!") > 1 Then
.Cells(.Cells(.Rows.Count, 9).End(xlUp).Row + 1, 9) _
= RaZelle.Address(0, 0)
.Cells(.Cells(.Rows.Count, 9).End(xlUp).Row, 10) _
= CStr(WsSh.Name)
.Cells(.Cells(.Rows.Count, 9).End(xlUp).Row, 11) _
= "'" & RaZelle.FormulaLocal
Else ' restliche Formeln
.Cells(.Cells(.Rows.Count, 13).End(xlUp).Row + 1, 13) _
= RaZelle.Address(0, 0)
.Cells(.Cells(.Rows.Count, 13).End(xlUp).Row, 14) _
= CStr(WsSh.Name)
.Cells(.Cells(.Rows.Count, 13).End(xlUp).Row, 15) _
= "'" & RaZelle.FormulaLocal
End If
Next RaZelle
End If
On Error GoTo 0 ' Fehlerbehandlung einschalten
End If
' WsSh.Protect "Passwort" ' Schutz wieder setzen
Next WsSh
' Programmteil Namen auslesen
' Schleife über alle Namen der Datei
For Each ObZelle In ActiveWorkbook.Names
.Cells(.Cells(.Rows.Count, 17).End(xlUp).Row + 1, 17) _
= ObZelle.Name
With .Cells(.Cells(.Rows.Count, 17).End(xlUp).Row, 18)
If InStr(ObZelle, "REF") > 0 Then
.Value = Mid(ObZelle, InStr(ObZelle, "!") + 1)
.Font.Bold = True
.Font.ColorIndex = 3
ElseIf InStr(ObZelle, "\") > 0 Then
.Value = Mid(ObZelle, InStr(ObZelle, "!") + 1)
.Font.Bold = True
.Font.ColorIndex = 4
Else
.Value = Mid(ObZelle, InStr(ObZelle, "!") + 1)
End If
End With
If InStr(ObZelle.RefersTo, "!") > 0 Then
.Cells(.Cells(.Rows.Count, 17).End(xlUp).Row, 19) _
= Application.WorksheetFunction.Substitute(Mid(ObZelle, _
2, InStr(ObZelle, "!") - 2), "'", "")
Else
.Cells(.Cells(.Rows.Count, 17).End(xlUp).Row, 19) _
= ObZelle.RefersTo
End If
Next
.Range("B:C,F:G,J:K,N:O, R:S").EntireColumn.AutoFit
' Überschriftszeilen
' Formel mit Ergebnis Fehler
.Cells(1, "A") = "Zellen mit Ergebnis Error"
' Formel zu anderen Arbeitsmappe
.Cells(1, "E") = "Formeln zu anderen Arbeitsmappen"
' Formel zu anderen Tabellen in dieser Arbeitsmappe
.Cells(1, "I") = "Formeln zu anderen Tabellen"
' restliche Formel
.Cells(1, "M") = "restliche Formeln"
' definierte Namen in dieser Arbeitsmappe
.Cells(1, "O") = "Namen in dieser Arbeitsmappe"
End With
Fehler1:
MsgBox "Es ist ein Fehler aufgetreten!"
Application.ScreenUpdating = True ' Bildschirmaktualisierung einschalten
Application.EnableEvents = True ' Reaktion Eingabe einschalten
End Sub
Anzeige
AW: Komischer Name _xlfn.IFERROR lässt sich nicht löschen
15.02.2026 12:36:22
Jürgen19
Hallo Piet

hab das Programm mal laufen lassen. In der ganzen Arbeitsmappe findet sich keine einzige Formel und keine einzige Verknüpfung. (Hinweis: sämtliche Manipulationen von Daten werden über Userforms und Makros gesteuert!)
Das Programmfindet aber _xlfn.IFERROR und _xlfn.SINGLE

Es wird nur die neueste Excelversion verwendet.
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18