Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1668to1672
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
Inhaltsverzeichnis

Datei lässt sich nicht schliessen @ Werner

Datei lässt sich nicht schliessen @ Werner
29.01.2019 07:46:51
Alex
Hallo den Code den wir gestern erstellt haben funktioniert soweit wunderbar,
jedoch kommt jetzt immer die msg Box "Der Datentransfer für heute wurde noch nicht durchgeführt" _ kann man hier der msg Box noxh sagen dass man die Datei süpeichern und beenden möchte ?

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If WorksheetFunction.CountIf(Worksheets("ErfassungEinstätze").Columns("C:C"), Date) = 0 Then
Cancel = True
MsgBox "Der Datentransfer für heute wurde noch nicht durchgeführt.", Buttons:=vbInformation
End If
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei lässt sich nicht schliessen @ Werner
29.01.2019 08:13:47
Matthias
Hallo
If MsgBox("Der Datentransfer für heute wurde noch nicht durchgeführt." & vbLf & "Datei jetzt schliessen?", vbYesNo) = vbYes Then Cancel = False: ThisWorkbook.Close
Gruß Matthias
AW: Datei lässt sich nicht schliessen @ Werner
29.01.2019 09:32:01
Alex
Passt Danke, funktioniert. Warum kommt die msg 2 mal wenn ich mit Ja bestätige `?
besser so ...
29.01.2019 08:28:38
Matthias
Hallo
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If WorksheetFunction.CountIf(Worksheets("ErfassungEinsätze").Columns("C:C"), Date) = 0 Then
Cancel = True
If MsgBox("Der Datentransfer für heute wurde noch nicht durchgeführt." & vbLf & "Datei jetzt  _
speichern und schliessen?", vbYesNo) = vbYes Then
Cancel = False
Application.EnableEvents = False
ThisWorkbook.Save
Application.EnableEvents = True
ThisWorkbook.Close
End If
End If
End Sub
Gruß Matthias
Anzeige
AW: besser so ...
29.01.2019 09:04:36
Luschi
Hallo Matthias,
ich glaube ja, das diese Routine an das falsche Ereignis angebunden ist.
Das Problem sehe ich darin, daß der User nur dann Speicher kann, wenn auch die Datei hinterher geschlossen wird - der User kann keine Zwischenergebnisse/-eingaben speichern und dann weiterarbeiten - für mich unvorstellbar. Deshalb sollte/muß das 'Workbook_BeforeClose'-Ereignis benutzt werden.
Gruß von Luschi
aus klein-Paris
AW: besser so ...
29.01.2019 10:14:35
Alex
Laufzeitfehler 1004
Die Methode Close für das Objekt _Workbook ist fehlgeschlagen
AW: besser so ...
29.01.2019 13:34:50
Luschi
Hallo Alex,
ich hatte nur denn Ereignisnamen angegeben, die komplete Ereignisprozedur sieht so aus:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
   'hier der Code
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
AW: besser so ...
29.01.2019 20:12:22
Alex
Habe ich eigentlich gemacht, trotzdem kommt es zu den Laufzeitfehler hmm
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'MsgBox beim beenden
If WorksheetFunction.CountIf(Worksheets("ErfassungEinstätze").Columns("C:C"), Date) = 0 Then
Cancel = True
If MsgBox("Der Datentransfer für heute wurde noch nicht durchgeführt." & vbLf & "Datei jetzt  _
_speichern und schliessen?", vbYesNo) = vbYes Then
Cancel = False
Application.EnableEvents = False
ThisWorkbook.save
Application.EnableEvents = True
ThisWorkbook.Close
End If
End If
End Sub

Anzeige
bei mir ohne Laufzeitfehler ...
29.01.2019 21:30:08
Matthias
Hallo Luschi
Zitat:(deshalb nicht korrigiert)
...kommt jetzt immer die msg Box "Der Datentransfer für heute wurde noch nicht durchgeführt" _ kann man hier der msg Box noxh sagen dass man die Datei süpeichern und beenden möchte ?
Alex wollte durch Abfrage trotzdem Speichern und Beenden.
Genau das macht der Code bei mir ohne Laufzeitfehler.
Hab die Datei 21:19:31 hochgeladen.
Userbild
Anzeige

339 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige