Servus zusammen,
ich verzweifle gerade :-)
Ich frage in BeforeSave ein paar Dinge ab, ob die Liste korrekt befüllt wurde und wenn nicht dann wird die Datei auch nicht gespeichert.
Das funktioniert auch soweit perfekt, aber jetzt zu meinem Problem.
Wenn ich auf Programm beenden klicke und dann auf speichern, dann wird das BeforSave ausgeführt (was es auch soll) und bei einem Fehler wird die Datei auch nicht gespeicher aber beim bestätigen wird auch die Datei ohne speichern geschlossen und das würde ich gerne verhindern.
Die Datei soll geöfnet bleiben bis ich entwedern alles korrekt ausgefüllt habe oder die Datei ohne speichern beende.
Hier mal der Code
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Variable für MsgBox
Dim Msg1, Style1, Title1, Icon1, kein_workcenter, Msg2, Style2, Title2, Icon2, Datum_in_Zukunft
Dim Zeile As Long
Dim Heute
Dim tbl As ListObject
Set tbl = Tabelle2.ListObjects(1)
'MsgBox1
Style1 = vbExclamation
Title1 = "Kein Workcenter angegeben"
'MsgBox2
Msg2 = "Datum liegt in der Zukunft. Ist das korrekt?"
Style2 = vbQuestion + vbYesNo
Title2 = "Richtiges Datum?"
Heute = Date
For Zeile = 1 To tbl.ListRows.Count
If tbl.DataBodyRange(Zeile, 2) <> "" Then
If tbl.DataBodyRange(Zeile, 4) = "" Then
kein_workcenter = MsgBox("In Zeile " & Zeile + 3 & " wurde kein Workcenter angegeben. Achtung Datei wurde nicht gespeichert", Style1, Title1)
Cancel = True
Exit Sub
End If
End If
Next Zeile
If (Tabelle2.Range("B1").Value) > Heute Then
Datum_in_Zukunft = MsgBox(Msg2, Style2, Title2)
If Datum_in_Zukunft = vbNo Then
DatumSchicht.Show
Cancel = True
Exit Sub
End If
End If
x = 0
Sheets("Übersicht JobCard").Select
Sheets("Übersicht JobCard").Protect
Sheets("JobCard erstellen").Protect
End Sub
Ich bin noch nicht so fit in VBA und das sind so meiner ersten Gehersuche.
Vielen Dank schon mal
|