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

_xlfn.IFERROR - Was soll das

Forumthread: _xlfn.IFERROR - Was soll das

_xlfn.IFERROR - Was soll das
30.06.2015 15:04:26
Peter
Guten Tag
Mittels Makro speichere ich mir die aktuelle Tabelle einer Datei in einer neuen Arbeitsmappe ab.
Dann lösche ich in der neuen Arbeitsmappe alle Namen mit dem
Sub Namen_delete()
Dim N_R As Single
Dim N_M As Name
For Each N_M In Names
N_M.Delete
N_R = N_R + 1
Next
End Sub
Neuerdings bleibt der Code dabei bei N_M.Delete hängen. Wenn ich dann im Direktbereich mit N_M.Name abfrage, welcher Name das Problem ist, erhalte ich als Ausgabe
_xlfn.IFERROR
Mir ist nicht klar, was ich damit anfangen soll. In der Quelldatei gibt es keinen solchen Namen.
Hat jemand eine Idee, woher ein solcher Name "aus dem Nichts" auftauchen kann?
Gruss, Peter

Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: _xlfn.IFERROR - Was soll das
30.06.2015 15:28:12
Michael
Hi Peter,
ich weiß zwar nicht, was der Error bedeutet (das ließe sich aber sicher im Netz recherchieren), was mir aber auffällt, ist die Zeile
N_R = N_R + 1
die da nichts zu suchen hat! Wenn Du einzelne Elemente einer Menge mit for each durchläufst, brauchst Du keinen Zähler.
Schöne Grüße,
Michael

Anzeige
AW: _xlfn.IFERROR - Was soll das
30.06.2015 15:31:58
Peter
Hallo Michael
Das N_R = N_R + 1 ist noch ein Überbleibsel eines älteren Codes, da ich mir früher die Anzahl der gelöschten Namen ausgegeben habe.
M.E. hat dies jedoch nichts mit dem aktuellen Problem zu tun.
Mit der Recherche im Netz bin ich nicht weitergekommen, sonst hätte ich diesen Beitrag nicht gepostet :-)
Danke und Gruss, Peter

Anzeige
AW: _xlfn.IFERROR - Was soll das
30.06.2015 15:50:58
Michael
Hi Peter,
ja, und hast Du das "Überbleibsel" mal testhalber rausgemacht?!
Gruß,
Michael
P.S.: Gugel findet bei der Recherche nach

ecxel vba xlfn.IFERROR
rund 1180 Ergebnisse.

_xlfn.IFERROR sieht danach aus, als ob in ...
30.06.2015 16:17:11
Luc:-?
…einer Zelle die Xl12ff-Funktion WENNFEHLER benutzt wird, Peter (& Michael),
Xl einen Fehler meldet, was VBA erkennt und so reagiert. Das sollte aber nur passieren, wenn deine XlVersion <12 ist, du hast aber Xl14/2010 angegeben! Viell solltest du derweil auf manuelle Berechnung umstellen und erst nach Abarbeitung wieder auf Automatik.
Gruß, Luc :-?

Anzeige
AW: _xlfn.IFERROR sieht danach aus, als ob in ...
30.06.2015 17:02:15
Peter
Hallo Luc
Habe ich richtig verstanden, dass am Anfang des Codes
Application.Calculation = xlManual und am Ende
Application.Calculation = xlAutomatic stehen sollte?
Bin etwas unsicher, da der Fehler ja nicht beim Berechnen, sondern beim Löschen eines unsichtbaren Namens auftritt.
Und es ist tatsächlich so, dass ich mit Excel 2010 arbeite.
Gruss, Peter

Anzeige
AW: _xlfn.IFERROR - Was soll das
30.06.2015 16:54:58
Peter
Hallo Michael
Danke. Gefunden habe ich z.B.:
Sub NamenLoeschen()
Dim wkb As Workbook
Dim objName As Name, intC As Integer
Set wkb = ActiveWorkbook
For intC = wkb.Names.Count To 1 Step -1
Set objName = wkb.Names(intC)
With objName
If .Visible = True Then
If InStr(1, .RefersToLocal, "#BEZUG!") > 0 Or InStr(1, .RefersTo, "#REF!") > 0 Then
.Delete
End If
Else
If Left(.Name, 6) = "_xlfn." Then
'Namen mit Verweise auf Excelfunktionen nicht löschen
ElseIf InStr(1, .Name, "!_FilterDatabase") > 0 Then
'Namen mit Verweis auf Autofilterbereiche nicht löschen
Else
.Delete
End If
End If
End With
Next
End Sub
welches interne Namen verschont.
Gruss, Peter

Anzeige
AW: _xlfn.IFERROR - Was soll das
30.06.2015 17:13:23
Michael
Hi zusammen,
daß aber auch (fast) alles komplizierter ist, als es auf den ersten Blick erscheint...
Happy Exceling,
Michael
P.S.: wenn der Code bei den 1180 (das sieht fast nach "hier werden Sie geholfen" aus) Treffern enthalten war, isses immer nett, die Quelle mit anzugeben, denn
1. ist der Code dann nicht auf unserem (das Herber-Forum) Mist gewachsen, und
2. findet einer, der den Beitrag liest, die Originalquelle *ohne* Recherche

Anzeige
Das war dann die andere Möglichkeit - ...
30.06.2015 17:32:55
Luc:-?
verborgener interner Name, Peter & Michael! ;-)
Luc :-?

AW: Das war dann die andere Möglichkeit - ...
30.06.2015 18:48:48
Peter
Hallo Luc
Was mich schon nachdenklich stimmt, dass mein geposteter Code in den letten Jahren unendlich viele Male abgelaufen ist, ohne dass Excel wegen verborgenen internen Namen gemekert hat - und ausgerechnet heute soll das nicht mehr gehen, wie es bisher immer ging ...
Gruss, Peter

Anzeige
hast du die Datei mit OO bearbeitet?
30.06.2015 18:54:16
Sepp
Hallo Peter,
so kennzeichnet nämlich OpenOffice unbekannte XL-Funktionen wie zum Beispiel WENNFEHLER().
Gruß Sepp

Siehste, kam mir doch bekannt vor! ;-) Gruß owT
30.06.2015 19:10:49
Luc:-?
:-?
;
Anzeige

Infobox / Tutorial

Umgang mit dem _xlfn.IFERROR-Fehler in Excel


Schritt-für-Schritt-Anleitung

  1. Identifikation des Problems: Der Fehler _xlfn.IFERROR tritt auf, wenn Excel eine nicht erkannte Funktion oder einen Namen findet, der nicht mehr verfügbar ist. Dies kann insbesondere bei der Verwendung von OpenOffice oder älteren Excel-Versionen vorkommen.

  2. Überprüfung der Namen: Öffne den Namen-Manager in Excel (Formeln > Namensmanager) und überprüfe, ob Namen mit _xlfn. oder ähnlichen Präfixen existieren.

  3. Makro anpassen: Verwende den folgenden VBA-Code, um nur gültige Namen zu löschen und _xlfn.-Namen zu ignorieren:

    Sub NamenLoeschen()
       Dim wkb As Workbook
       Dim objName As Name
       Set wkb = ActiveWorkbook
       For intC = wkb.Names.Count To 1 Step -1
           Set objName = wkb.Names(intC)
           If Left(objName.Name, 6) <> "_xlfn." Then
               objName.Delete
           End If
       Next intC
    End Sub
  4. Manuelle Berechnung nutzen: Vor der Ausführung des Codes könntest du die Berechnung auf manuell umstellen:

    Application.Calculation = xlManual
    ' Dein Code hier
    Application.Calculation = xlAutomatic

Häufige Fehler und Lösungen

  • Fehler beim Löschen von Namen: Wenn der Code bei N_M.Delete hängen bleibt, könnte es an einem internen Namen liegen, der nicht gelöscht werden kann. Verwende den angepassten Code von oben.

  • Falsche Excel-Version: Der Fehler kann auch darauf hinweisen, dass du eine Excel-Version verwendest, die die Funktion IFERROR nicht unterstützt. Stelle sicher, dass du Excel 2010 oder neuer verwendest.


Alternative Methoden

  • Verwenden von Excel-Funktionen: Anstelle eines VBA-Skripts kannst du auch Excel-Formeln direkt in den Zellen verwenden, um Fehler zu handhaben. Nutze beispielsweise die Formel =IFERROR(A1/B1, "Fehler").

  • OpenOffice-Kompatibilität: Wenn du die Datei in OpenOffice bearbeitet hast, könnte die _xlfn.-Kennzeichnung auf nicht unterstützte Funktionen hindeuten. Überprüfe die Datei in Excel erneut.


Praktische Beispiele

  • Beispiel zur Verwendung von IFERROR:

    =IFERROR(A1/B1, "Division durch Null")

    Diese Formel gibt "Division durch Null" aus, wenn B1 den Wert 0 hat.

  • Makro zur Bereinigung nicht benötigter Namen:

    Sub RemoveUnwantedNames()
       Dim nm As Name
       For Each nm In ThisWorkbook.Names
           If InStr(nm.Name, "_xlfn.") > 0 Then
               nm.Delete
           End If
       Next nm
    End Sub

Tipps für Profis

  • Verwende Debugging: Füge Debug.Print-Anweisungen in dein VBA-Skript ein, um herauszufinden, welcher Name den Fehler verursacht.

  • Regelmäßige Aufräumaktionen: Mache es dir zur Gewohnheit, regelmäßig den Namensmanager zu überprüfen, um unerwünschte und nicht mehr verwendete Namen zu entfernen.


FAQ: Häufige Fragen

1. Was bedeutet _xlfn.IFERROR?
Dieser Fehler tritt auf, wenn Excel eine Formel erkennt, die es nicht verarbeiten kann, oft aufgrund von Kompatibilitätsproblemen.

2. Wie kann ich _xlfn.-Namen in Excel löschen?
Nutze VBA, um alle Namen zu überprüfen und die _xlfn.-Namen zu ignorieren oder zu löschen, wie im oben genannten Beispiel gezeigt.

3. Ist _xlfn.IFERROR ein Fehler in meiner Excel-Version?
Ja, dieser Fehler kann anzeigen, dass du eine Excel-Version verwendest, die bestimmte Funktionen nicht unterstützt. Stelle sicher, dass du mit einer aktuellen Version arbeitest.

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