Anzeige
Archiv - Navigation
852to856
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
852to856
852to856
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Workbook_Open läuft plötzlich unter E97 nicht mehr

Workbook_Open läuft plötzlich unter E97 nicht mehr
Andreas
Hallo Moin!
Ich habe eine länger existierende Exceldatei mit Workbook_Open. Seit heute wird das Workbook_Open unter Excel 97 nicht mehr gestartet. Wenn ich die Datei jedoch in Excel 2000 starte läuft's aber weiterhin (erkennbar an einer Msgbox-Meldung).
Hat einer 'ne Ahnung, wodurch so was passiert sein kann? Ich habe die letzten Tage wenig am VBA geändert, im wesentlichen nur Functions eingefügt.
Gruß,
Andreas X
AW: Nach Löschen von Arbeitsblättern ...
Arbeitsblättern
Ich habe mal probeweise die Arbeitsblätter in der Arbeitsmappe gelöscht, die ich gestern noch bearbeitet hatte und siehe da, das Workbook_Open läuft auch wieder unter Excel 97.
Also, nur durch entfernen von Arbeitsblättern OHNE jegliche Änderung im VBA geht's wieder, wie das?
Und selbstverständlich möchte ich meine Arbeitsblätter drin lassen, die sind ja wesentlicher Bestandteil der Sache.
Hat jemand von Euch schon mal so einen Effekt gehabt und weiß' evtl. Abhilfe? Ich würd' mich sehr freuen.
Gruß,
Andreas
AW: Workbook_Open läuft unter E97 nicht
Erich
Hallo Andreas,
vermutlich befindet sich in den nun gelöschten Arbeitsblättern Code, der unter Excel97 nicht läuft.
(Z. B. gab es die Funktionen Split() und InstrRev() da noch nicht.)
Mit den Blättern hast du auch den zugehörigen Code gelöscht - deshalb funzt es nun.
Probier mal - ohne vorher die Blätter zu löschen - im VBA-Editor des Excel97 den Code zu kompilieren
(Debuggen - Kompilieren von ...)
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Workbook_Open läuft unter E97 nicht
Andreas
Hallo Erich,
danke für Deine Hilfe. In den Arbeitsblätter selbst war in diesem Fall kein VBA.
Nur die etwa dutzend Functions, die ich die Tage in einem Modul erstellt habe, wurden in diesen Blättern genutzt (Index, Match, Grundrechenarten und anderes Unkompliziertes, oft nur Ein- oder Zweizeiler).
Deinem Hinweis werde ich nachgehen und mich wieder melden.
Danke,
Andreas
AW: Kompilieren?
Andreas
Hallo Erich,
Kompilieren: Was ist das überhaupt? Was soll denn da passieren?
In Excel 97: Ich klicke Testen/Kompilieren von VBA-Projekt an und reinweg garnichts passiert.
Excel 2000: Ich hab' im Menü Debuggen den Punkt Kompilieren gewählt (und er bleibt nun die ganze Zeit deaktiviert). Habe auch mal versuchsweise das Workbook_Open durchlaufen lassen, ist aber nichts Ungewöhnliches passiert.
Hat da evtl. meine Excel97-Installation gestern 'ne Macke bekommen?
Gruß,
Andreas
Anzeige
AW: Bei "Makro aufzeichnen" kommt Fehlermeldung
Andreas
Habe gerade noch etwas getestet:
Excel 97 neu gestartet, neue leere Arbeitsmappe angelegt und abgespeichert.
Dann auf Excelebene "Makro aufzeichnen" gewählt, OK gedrückt und dann kommt die Fehlermeldung "Kann nicht aufzeichnen."
Da hat gestern gestern wohl mein Excel 'ne Macke abbekommen, oder?
Weiß jemand, woran das liegen könnte bzw. wie ich das beheben kann?
Gruß,
Andreas
AW: Habe die Datei auf anderem Rechner ...
Andreas
Ich habe die Datei jetzt probeweise auf einem anderen Rechner mit Excel 97 geöffnet; das Problem ist geblieben, d.h. es liegt nicht an einer zerschossenen Excel97-Installation hier auf meinem Rechner, sondern an der Datei. Die lief bis gestern Abend noch jahrelang unter Excel 97 problemlos und seit heute wird beim Öffnen das Workbook_Open nicht mehr startet - habe gestern Abend nur noch neue Functions in drei lang bestehende Arbeitsblätter mit eingefügt (d.h. innerhalb von Zellen ineinander verschachtelte Functions eingesetzt, was doch eigentlich kein Problem sein sollte, oder?).
Es bleibt daher meine ursprüngliche Frage, wie krieg' ich das Workbook_Open wieder ans Laufen auch unter Excel 97?
Den Hinweis von Erich mit dem Kompilieren habe ich auch noch nicht verstanden. Wie wendet man das denn überhaupt an? Das würde ich gerne versuchen
Ich bitte um Eure Hilfe,
Andreas
Anzeige
AW: Habe die Datei auf anderem Rechner ...
Hubert
Hi,
wenn es vor der letzten Änderung lief, weißt du doch, woran es liegt.
mfg Hubert
AW: Nein, das weiß ich leider nicht ...
Andreas
Hallo Hubert, nein, das weiß leider ich nicht, sonst hätte ich mich hier auch nicht gemeldet.
Die Änderungen sind eigentlich nur im Arbeitsblatt selbst gewesen (evtl. gab's auch noch mal 'nen Absturz vom Excel zwischendurch) und ich kann mir nicht erklären, wieso jetzt plötzlich das Workbook_Open nicht mehr läuft. Und: ich würde die Änderungen (die mehrere Stunden in Anspruch genommen hatten) gerne beibehalten, die sind ja Bestandteil des eigentlichen Ziels für dieses Sheet. Deswegen suche ich einen Hinweis, woran das liegen könnte, um die Ursache zu beheben und um das Ganze nicht noch mal komplett neu machen zu müssen (steckt wochenlange Arbeit drin) und womöglich danach dann wieder vor dem gleichen Problem zu stehen.
In dem Zusammenhang: ich habe in dem Blatt u.a. selbstgemachte Functions eingefügt und die innerhalb von einzelnen Zellen ineinander verschachtelt sind. Das dürfte doch eigentlich kein Problems sein, oder?
Oder kann das Komplikationen bringen, wenn gleichlautende Variablen bei der einen Function die eine Deklaration (z.B. As Double) haben und bei der anderen Function eine andere (z.B. As Bolean) und diese beiden Functions innerhalb einer Excelzelle verwendet sind?
Gruß,
Andreas
Anzeige
AW: Nein, das weiß ich leider nicht ...
Hans
Hallo,
hier extern auf Problemsuche zu gehen, wird m.E. nicht allzuviel bringen.
Versuche mal eine einfache Lösung und stelle vom Workbook_Open-Ereignis auf die auto_open-Prozedur um.
Falls nicht bekannt: Eine in einem Standardmodul eingefügte Prozedur mit dem Namen auto_open ist mit dem Workbook_Open-Ereignis vergleichbar, funktioniert aber - insbesondere bei XL97 - zuverlässiger.
Gruss hans
AW: Workbook_Open <-> Auto_Open
Andreas
Hallo Hans,
danke für Deine Rückmeldung. Die Mappe hat bereits von Anfang sowohl ein Workbook-Open als auch ein Auto_Open, weil es einen Unterschied macht, ob die Datei normal geöffnet wird, um Daten einzugeben (beide Open werden gestartet) oder sie aus einer anderen Mappe heraus geöffnet wird, um Daten auszulesen (nur das Auto_Open wird gestartet). Eine Umstellung würde ich nur vornehmen wollen, wenn sich diese Funktionalität irgendwie erhalten lässt. Ich würde mich auch über einen Hinweis hierzu freuen.
Das Ganze hat jetzt gute sechs Jahre lang funktioniert und plötzlich von einem Tag auf den anderen nicht mehr (nachdem ich vorwiegend selbstgemachte Functions in Arbeitsblätter eingefügt habe). Ich habe die Frage hier gepostet, weil ich in der Hoffnung war (und auch noch bin), dass sich die Ursache finden und beheben lässt, weil das Problem vielleicht jemand anderes auch schon mal hatte und der eine oder andere Profi da einen Hinweis zur Rettung hat.
Anzeige
AW: Workbook_Open <-> Auto_Open
Hans
Hallo Andreas,
ich vermute, dass Excel während der Verarbeitung der auto_open aussteigt, weil irgendetwas nicht verarbeitet werden kann. Ansonsten bin ich ahnungslos.
Gruss hans
AW: Workbook_Open/Auto_Open, Makrorekorder
Andreas
Hallo Hans, guten Morgen,
danke nochmal für Deine Rückmeldung.
Ich bin allerdings etwas irritiert, weil doch das Workbook_Open normalerweise als erstes läuft und danach erst das Auto_Open gestartet wird. Wenn nun das Auto_Open hier eine Macke hätte bzw. aussteigt (was in in diesem Fall m.E. nicht tut), dann hätte es ja eigentlich keinen Einfluss mehr auf das Workbook_Open.
Was auch neu ist (wie bereits erwähnt), ist das der Makrorekorder im Excel 97 jetzt nicht mehr funktioniert; es kommt die Meldung "Kann nicht aufzeichnen." Das war vorher nicht. Das kann in diesem Fall auch nicht an den Rechten liegen, da der Rekorder auf einem anderen Rechner bei gleichen Rechten funktioniert. Habe auch schon mit der Original-Office-CD-Rom d'rüberinstalliert, aber es hat keine Änderungen bewirkt, der Rekorder funktioniert immer noch nicht.
Was ich auch festgestellt habe: wenn ich die betroffene Datei probeweise auf dem anderen Rechner mit E97, wo der Makrorekorder noch läuft, öffne, dann funktioniert auch dort der Rekorder nicht mehr. Erst wenn ich dort Excel schließe und wieder öffne geht auch der Rekorder wieder.
Ich steh' hier in der Sache wie'n "Ochs' vor'm Berge".
Gruß,
Andreas
Anzeige
AW: Workbook_Open/Auto_Open, Makrorekorder
Hans
... sorry für die Stiftung der Verwirrung. Du hast natürlich recht: Workbook_Open for auto_open.
Aber sonst bin ich ahnungslos.
Gruss hans
AW: Workbook_Open/Auto_Open, Makrorekorder
Andreas
Danke Hans!
Deinen Vorschlag von gestern nochmal aufgreifend: gibt es denn eine Möglichkeit, die Funktionalität (wie zuvor/gestern beschrieben) des Workbook_Open auch innerhalb des Auto_Open herzustellen? Du hattest mir ja die komplette Umstellung auf's Auto_Open empfohlen. (Mein Ziel ist, dass die bisherige Funktionalität des Workbook_Open und des Auto_Open der Mappe erhalten bleibt und die Mappe auch noch ab Excel 97 funktioniert.)
P.S. Ich habe hier im Forum allerdings auch Empfehlungen gefunden (waren wohl etwa aus den Jahren 2001/2002), dass das Workbook_Open dem Auto_Open vorzuziehen sei, die ich allerdings ob Deiner Empfehlung in Frage stelle.
Besten Gruß Dir,
Andreas
Anzeige
AW: Workbook_Open/Auto_Open, Makrorekorder
Hans
Hallo Andreas,
was wem vorzuziehen ist, kann man nur im Eizelfall beurteilen. Ein Nachteil des auto_open ist schonmal, dass , wenn die Arbeitsmappe aus einer Prozedur heraus geöffnet wird, RunAutoMacros gestartet werden muss, was aber so problematisch auch nicht ist.
Ich wüsste jetzt auf Anhieb nichts, was bei auto_open im Gegensatz zu Workbook_Open nicht funktionieren sollte.
Gruss hans
AW: Workbook_Open/Auto_Open, Makrorekorder
Andreas
Hallo Hans,
ich kenne das RunAutoMacros noch nicht, werde dem Hinweis nachgehen.
Gestatte mir noch eine Frage dazu: wenn ich mich nun beschränke auf das Auto_Open mit dem RunAutoMacros und dann nur ein bestimmter Teil des Auto_Open ablaufen soll, wenn die Datei durch ein Makro einer anderen Datei gestartet wurde (so wie ich jetzt vermute, nennt Ihr Experten das "aus einer anderen Prozedur" heraus), wie ist das zu bewerkstelligen, was muss ich dafür tun?
Gruß,
Andreas
Anzeige
AW: Workbook_Open/Auto_Open, Makrorekorder
Hans
Hallo Andreas,
Du könntest das so steuern:
Das auto_open-Makro in der zu öffnenden Arbeitsmappe:

Sub auto_open()
If Range("A1").Value = 1 Then
MsgBox "Ich wurde aus einer anderen Mappe aufgerufen!"
Else
MsgBox "Ich wurde manuell geöffnet!"
End If
Range("A1").Value = 0
End Sub
Das Makro in der aufrufenden Arbeitsmappe:

Sub WkbOpen()
Dim wkb As Workbook
Set wkb = Workbooks.Open("Test.xls")
wkb.Worksheets(1).Range("A1").Value = 1
wkb.RunAutoMacros xlAutoOpen
End Sub
Gruss hans
AW: Workbook_Open/Auto_Open, Makrorekorder
Andreas
Vielen Dank Hans!
Vielen Dank für diese Schützenhilfe, darauf kann ich bauen und werde der Sache nachgehen - und berichten.
Gute Nacht (falls Du sowas überhaupt kennst ;o) )
und besten Gruß,
Andreas
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige