Seiten

07.01.2022

Die Tabelle, die Lösung für das Makro, OK-Abfrage in Excel unterdrücken und die Entspannung

Am Nachmittag habe ich eine Weile versucht, das Makro im gewünschten Sinn zu er­wei­tern, 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 wer­den 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 da­zu ist im Internet nichts zu finden.

Dann habe ich es so gemacht, wie ich früher bei der Programmierung und Sys­tem­pro­gram­mierung immer bei der Fehlersuche vorgegangen war, um he­raus­zu­finden, 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 For­mu­lare identifizieren können, bei denen sich das Speichern verweigerte, weil wahr­schein­lich 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-Ab­frage stattfand.

Dann hatte ich im Internet nach längerer Zeit in einem Forum den entscheidenden Hin­weis gefunden, der den Durchbruch brachte.

Mit dem Befehl "Application.DisplayAlerts = False" vor der Aktion, welche die Abfrage aus­löst, wird die Abfrage deaktiviert.
Nachdem die Aktion durchgeführt ist, wird die Abfrage wieder mit dem Befehl "App­li­ca­tion.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! :)