Thema Datum  Von Nutzer Rating
Antwort
Rot Before Save schließen verhindern
25.10.2022 15:34:16 Dominik
NotSolved
25.10.2022 17:36:00 Gast7777
NotSolved
26.10.2022 07:40:46 Dominik
NotSolved
26.10.2022 12:24:40 Der Steuerfuzzi
NotSolved

Ansicht des Beitrags:
Von:
Dominik
Datum:
25.10.2022 15:34:16
Views:
693
Rating: Antwort:
  Ja
Thema:
Before Save schließen verhindern

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


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Before Save schließen verhindern
25.10.2022 15:34:16 Dominik
NotSolved
25.10.2022 17:36:00 Gast7777
NotSolved
26.10.2022 07:40:46 Dominik
NotSolved
26.10.2022 12:24:40 Der Steuerfuzzi
NotSolved