Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender Navigationstipps
Inhaltsverzeichnis

Cancel = True funktioniert nicht

Cancel = True funktioniert nicht
26.02.2021 19:49:41
Dirk
Hallo,
bin mal wieder das Wissen von euch VBA-Spezialisten angewiesen.
Ich habe den folgenden Code, der vor der Speicherung prüft, ob alle Pflichtfelder ausgefüllt sind. Unter Excel Office 365 funktioniert der Code super. Die Speicherabfrage kommt, die MSGBox kommt und nach dem Schließen dieser kommt auch wieder die Speicherabfrage. Unter Excel 2013, wo der Code auch zukünftig laufen soll, funktioniert er nicht. Speicherabfrage kommt, MSGBox kommt, jedoch wird die Datei nach dem Schließen der MSGBox trotzdem gespeichert und geschlossen. Wer kann mir sagen warum das so ist und warum das in der einen Excel Version funktioniert und in der Anderen nicht?
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If WorksheetFunction.CountA(Worksheets("Tabelle1").Range("Pflichtfeld_1,Pflichtfeld_2, _
Pflichtfeld_3")) 
Danke im Voraus
Gruß
Dirk

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Cancel = True funktioniert nicht
26.02.2021 20:03:00
Hajo_Zi
Hallo Dirk,
Die meisten bauen Deine Datei nicht nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Die meisten möchten es am Original testen um den gleichen Fehler zu erhalten.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten ändern. Schaue Datei
http://hajo-excel.de/gepackt/fremd/Datei_verschluesseln.zip
Das ist nur meine Meinung zu dem Thema.
Falls Link nicht ausgeführt wird:
1. Link kopieren
2. rechte Maustaste neues Fenter.
3. Umschaltstaste drücken und Klick auf den Link
4. STRG+ Link mit Maus aktivieren
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)


Anzeige
AW: Cancel = True funktioniert nicht
26.02.2021 20:47:20
Hajo_Zi
Hallo Dirk,
ich kann Dir da Leider nicht Helfen, mein Excel 2003 ist im Urzustand und kann XLSM nicht öffnen.
Viel Erfolg noch. Ich bin dann raus.
Gruß Hajo

AW: Cancel = True funktioniert nicht
26.02.2021 20:52:10
Dirk
Hallo,
wer kann helfen. Hajo_Zi ist leider raus.
Gruß
Dirk

AW: Cancel = True funktioniert nicht
27.02.2021 00:42:16
Yal
Hallo Dirk,
Hajo macht Witze: er hat sehr wohl Excel 2016. Er mag einfach keine Excel-Datei mit Makro, weil es gefährlich sein kann. Das kann ich auch nachvollziehen. Besonders lustig ist er, wenn er eine Datei verlangt, wohl wissend dass es um Makro geht, um anschliessend zu mekern, dass in der Datei ein Makro vorhanden ist. Na gut. Er könnte damit Werbung für seine Webseite platzieren.
Jetzt im ernst. Es tut mir leid, bei mir funktioniert es.
Könnte es sein, dass kurz davor etwas wie
Application.EnableEvents = False
verwendet wurde? Dann würde es spätestens nach Restart von Excel weg sein.
Oder einen
Application.EnableEvents = True
im Direktfenster platzieren.
VG
Yal

Anzeige
AW: Cancel = True funktioniert nicht
27.02.2021 08:18:53
Dirk
Hallo Yal,
danke für die Info.
Ich habe die Datei unter Excel 2016 erstellt, wo sie auch funktioniert hat. Dann habe ich Sie auf dem Rechner ausprobiert, auf dem sie dann auch laufen soll. Der Rechner hat 2013; dort funktioniert sie eben nicht und ich weiß nicht warum. Es ist auch keine andere Datei offen die stören könnte; klar das ein oder andere Add-In wie Acrobat oder think-cell.
Gruß
Dirk

AW: Cancel = True funktioniert nicht
27.02.2021 08:29:22
Hajo_Zi
Hallo Yal,
Bitte den ersten Beitrag komplett lesen!
 Unter Excel 2013
Gruß Hajo

Anzeige
AW: Cancel = True funktioniert nicht
27.02.2021 12:03:28
Yal
Hallo Hajo,
Wie kann dann, bei solchem Wissen, den Verweis auf deinem Excel 2003 hilfreich sein?
Es sei denn, Du hast dich vertippt.
Es ändert aber nichts daran, dass es von vorne rein klar war, dass es um Makros ging.
VG
Yal

AW: Cancel = True funktioniert nicht
27.02.2021 12:06:41
Yal
Na gut: nochmal vollständig gelesen.
Es geht tatsächlich um Makros, die unter 365 herstellt worden sind, und unter Excel 2013 laufen sollen.
Mit aller Entschuldigung.
VG
Yal

AW: Cancel = True funktioniert nicht
27.02.2021 09:06:29
Nepumuk
Hallo Dirk,
kann ich nicht bestätigen. Bei mir wird die Mappe nicht gespeichert. Ich benutze Excel 2013 mit allen Updates.
Gruß
Nepumuk

Anzeige
AW: Cancel = True funktioniert nicht
27.02.2021 10:31:03
Dirk
Hallo Nepumuk,
bei der 2016er Version kommt das Fenster mit der Speicheraufforderung, dann die MsgBox mit dem Hinweis das nicht alle Pflichtfelder ausgefüllt sind und nach dem Schließen der MsgBox kommt wieder das Fenster zur Aufforderung Speichern/Nicht Speichern/Abbrechen. Bei der 2013 Version wird Excel nach dem Schließen der MsgBox einfach geschlossen, allerdings ohne Speichern. Wie kann ich aslo das Schließen verhindern. Wenn die Datei geschlossen wird, ohne das vorher gespeichert wurde, sind natürlich alle Einträge weg. Das möchte ich natürlich verhindern.
Gruß
Dirk

Anzeige
AW: Cancel = True funktioniert nicht
27.02.2021 15:46:31
Luschi
Hallo Dirk,
da kann ich Nepumuk's Infos nur bestätigen:
- es kommt kein 'Fenster mit der Speicheraufforderung'
- sondern gleich die Meldung der MsgBox
- und die Arbeitsmappe wird nicht gespeichert bei leeren Pflichtfeldern
Gruß von Luschi
aus klein-Paris
Ich habe Win 10, Excel 2013 & Excel 2019 mit allen Updates

AW: Cancel = True funktioniert nicht
27.02.2021 18:41:04
Dirk
Hallo Luschi,
das nach dem MsgBox Fenster Excel sofort geschlossen wird ohne Speichern (alle neuen Einträge sind dann auch weg) und ich nicht die Möglichkeit habe, die noch offenen Pflichtfelder auszufüllen, ist genau das Problem, welches ich unter der Version 2013. Wie gesagt nur unter 2013. Unter 365 kann ich nach dem Schließen der MsgBox in der Datei die fehlenden Eingaben machen.
Was müsste ich denn am Code ändern, um das Schließen von Excel nach der MsgBox definitiv zu verhindern? Oder ist Cancel = True die einzige Option?
Gruß
Dirk

Anzeige
AW: Cancel = True funktioniert nicht
02.03.2021 14:26:38
Peter
Hallo Dirk,
mit "Workbook before Close/before Save" hatte ich bis heute nichts als nur Ärger; mal funktionierts mal eben nicht. Ich sende Dir mal hier meinen Lösungsvorschlag:
https://www.herber.de/bbs/user/144379.xlsm
Speichern und Beenden wird hier durch einen Makro-Button ausgelöst. Das Excel-Menü wird beim Öffnen der Datei ausgeblendet (und natürlich beim Schließen wieder eingeblendet), so dass man darüber nicht speichern und/oder schließen kann. Um das Menü trotzdem einzuschalten, gibt es einen Geheimbefehl: STRG-L (kleines L).
Bitte mal ausprobieren, Rückmeldung wäre nett.
Mit freundlichem Gruß
Peter Kloßek
Anzeige

199 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige