_xlfn.IFERROR - Was soll das

Bild

Betrifft: _xlfn.IFERROR - Was soll das
von: Peter
Geschrieben am: 30.06.2015 15:04:26

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

Bild

Betrifft: AW: _xlfn.IFERROR - Was soll das
von: Michael
Geschrieben am: 30.06.2015 15:28:12
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

Bild

Betrifft: AW: _xlfn.IFERROR - Was soll das
von: Peter
Geschrieben am: 30.06.2015 15:31:58
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

Bild

Betrifft: AW: _xlfn.IFERROR - Was soll das
von: Michael
Geschrieben am: 30.06.2015 15:50:58
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.

Bild

Betrifft: _xlfn.IFERROR sieht danach aus, als ob in ...
von: Luc:-?
Geschrieben am: 30.06.2015 16:17:11
…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 :-?

Bild

Betrifft: AW: _xlfn.IFERROR sieht danach aus, als ob in ...
von: Peter
Geschrieben am: 30.06.2015 17:02:15
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

Bild

Betrifft: AW: _xlfn.IFERROR - Was soll das
von: Peter
Geschrieben am: 30.06.2015 16:54:58
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

Bild

Betrifft: AW: _xlfn.IFERROR - Was soll das
von: Michael
Geschrieben am: 30.06.2015 17:13:23
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

Bild

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

Bild

Betrifft: AW: Das war dann die andere Möglichkeit - ...
von: Peter
Geschrieben am: 30.06.2015 18:48:48
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

Bild

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

Gruß Sepp


Bild

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

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Auslesen von Tabellenzellen über Userform"