grade in die Situation gekommen, dass ein VBA-Code, welcher schon seit Monaten fehlerfrei seinen Dienst verrichtet, plötzlich mit Fehler 1004 (Anwendungs- oder objektdefinierter Fehler) abbricht.
Ein Datenquader aus einem Intranet-Tool wird umformatiert und um zusätzliche Spalten ergänzt, deren Inhalt sich hauptsächlich aus Formeln ergeben. Abschließend werden die Ergebnisse als Text eingefügt, damit sich die Ergebnisse nicht mehr ändern können.
tbl_2.UsedRange = tbl_2.UsedRange.Value
Seit heute führt diese Zeile zu einem Laufzeitfehler 1004. Also habe ich den Fehler schrittweise eingegrenzt. Mit Range die betroffene Spalte identifiziert und letztlich auch die Zelle, die das Problem hervorruft.Ergebnis:
Eins der Felder aus dem Ursprungs-Datenquader ist ein frei beschreibbares Textfeld. Durch Zufall sorgt ein Eintrag seit heute dafür, dass in einer Zelle als Formelergebnis der String == ausgegeben wird.
Und genau dieser String sorgt für den Laufzeitfehler 1004. Der Fehler ist auch reproduzierbar (siehe angehängte Datei).
https://www.herber.de/bbs/user/99508.xlsm
Meine Frage ist nun, ob dieser Fehler einerseits bekannt ist und vielleicht irgendwann mal gepatcht wird (oder in neueren Excel-Versionen bereits gepatcht wurde, auch wenn mir das nicht helfen würde, da die Firma vor noch nicht allzu langer Zeit grad erst den Schritt von 2003 zu 2007 gemacht hat), und zum anderen interessiert es mich jetzt sehr, ob ich mich auf weitere derartige Überraschungen einstellen sollte?
Gibt es weitere Strings, die VBA aus dem Tritt bringen können?