Am Nachmittag habe ich eine Weile versucht, das Makro im gewünschten Sinn zu erweitern, weil das Makro doch sehr die Konzentration beanspruchte.
Ich war aber nach längerer Zeit bei der Suche im Internet nach der Lösung nicht fündig geworden und habe dann die Datenblätter der Tabelle doch mit dem halbfertigen Makro erst einmal fertig aktualisiert.
Das bedeutete, bei jeder Reihe der zwölf Monate eine Fülle von Daten aus der Datei des Vorjahres zu holen und in die neue Datei als Wert einzufügen, mit der Hürde, dass die Abfrage bei jedem Monat in einer Messagebox mit der Enter-Taste auf "OK" bestätigt werden musste.
Schließlich war ich damit fertig und konnte mich am Abend wieder damit befassen, wie ich es erreiche, dass die MessageBox automatisch mit OK beantwortet wird.
Da tat sich aber ein neues Problem auf, was auf dem alten Notebook nie auftauchte.
Alles, was ich im Netz an vielversprechenden Ansätzen gefunden hatte, konnte ich nicht anwenden, weil meine Datei "personl.xls", die im Ordner "XLStart" gespeichert ist, nicht mehr nach Veränderungen gespeichert werden konnte.
Lange Zeit habe ich nach einer Lösung für dieses sekundäre Problem gesucht. Doch dazu ist im Internet nichts zu finden.
Dann habe ich es so gemacht, wie ich früher bei der Programmierung und Systemprogrammierung immer bei der Fehlersuche vorgegangen war, um herauszufinden, was mit der Datei eventuell nicht stimmt.
Ich habe eine neue Excel-Datei angelegt und im Visual Basic-Editor, die Formulare mit den Boxen und die Module mit den Makros Stück für Stück zu übertragen.
Nach jedem Kopieren habe ich die Datei neu gespeichert und habe dadurch zwei Formulare identifizieren können, bei denen sich das Speichern verweigerte, weil wahrscheinlich Fehler darin waren. Nachdem diese gelöscht waren, ließ sich alles an Formularen und Modulen mit den Makros auch übertragen und speichern.
(Diese beiden Formulare resultieren übrigens aus Tests, die ich nie weiter ausgebaut oder genutzt habe.)
Ich habe die fehlerhaften Formulare dann auch in personl.xls gelöscht, und siehe da, die Makros ließen sich auch in personl.xls wieder editieren und speichern.
Mit Messageboxen (MsgBox) konnte ich zunächst die Stellen einkreisen, wo die OK-Abfrage stattfand.
Dann hatte ich im Internet nach längerer Zeit in einem Forum den entscheidenden Hinweis gefunden, der den Durchbruch brachte.
Mit dem Befehl "Application.DisplayAlerts = False" vor der Aktion, welche die Abfrage auslöst, wird die Abfrage deaktiviert.
Nachdem die Aktion durchgeführt ist, wird die Abfrage wieder mit dem Befehl "Application.DisplayAlerts = True" eingeschaltet.
Jetzt läuft das Makro wie geschmiert, ohne durch eine Abfrage unterbrochen zu werden.
Ich kann erst einmal völlig entspannt dem Wochenende entgegensehen. :)
Nun, jetzt brauche ich 'nur' noch 109 Grafikblätter den aktualisierten Datenblättern anzupassen.^^
Keine Kommentare:
Kommentar veröffentlichen
Danke für den Kommentar! :)