HERBERS Excel-Forum - das Archiv

Thema: Excel stürzt nach save.as ab | Herbers Excel-Forum

Excel stürzt nach save.as ab
Michael

Hallo allerseits,
Erstmal noch ein schönes neues Jahr
ich habe folgenden Code geschrieben. Dabei soll die geöffnete Datei mit anderem Namen in ein anderes Verzeichnis gespeichert werden und dann nochmal in dem aktuellen Verzeichnis mit aktuellem Namen.
Nach dem Code stürzt Excel reproduzierbar jedesmal nach 1 Sec Bedenkzeit ab.
Hier mal der Code:
Ist nicht so anspruchsvoll :-)
Der Code steht in "Dieser Arbeitsmappe"
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim PFAD, aPFAD As String
Dim fDatei, aDatei As String
Dim JN As String
PFAD = "X:\GROUPS\DAT\Dienstpläne\2010\Aktuell"
fDatei = "\Schichtplan_test.xls"
aPFAD = ThisWorkbook.Path
aDatei = ThisWorkbook.Name
JN = MsgBox("Soll die Datei auch in den Aktuellordner" & vbLf & "gespeichert werden?", vbYesNo)
If JN = 7 Then ActiveWorkbook.Save: Exit Sub
Application.EnableEvents = False
ActiveWorkbook.SaveAs Filename:=PFAD & fDatei
ActiveWorkbook.SaveAs Filename:=aPFAD & "\test" & aDatei
Application.EnableEvents = True
End Sub

versuch mal und ...
Tino

Hallo,
mach mal ganz oben als erstes nach der Deklarierung ein Cancel = True
Application.EnableEvents = False würde ich vor die If stellen und im True Part
wieder auf True setzen vor Exit Sub.
Habe Deinen Code aber nicht getestet.
Gruß Tino
AW: versuch mal und ...
Michael

Danke hat geklappt das .EnableEvents = false wollte ich auch noch dahin packen, doch waren die Änderungen nach dem Absturz weg.
Es hat vermutlich an dem Cancel = true gelegen!
Was bewirkt denn das genau?
Gruß
Michael
dies bewirkt,...
Tino

Hallo,
das dieses angestoßene speichern abgebrochen wird,
sonst wird beim beenden des Makros nochmal gespeichert.
Ich sehe nur noch das Dein EnableEvents an der falschen Position sitzt,
wenn Du auf Nein klickst in der Msgbox, wird das Event nochmal angestoßen und durch Cancel wieder abgebrochen, aber ich denke dieses Speichernevent soll nicht nochmal aufgerufen werden.
Gruß Tino
AW: dies bewirkt,...
Michael

Hallo Tino,
das EnableEvent habe ich ja angepasst!
Application.EnableEvents = False
If JN = 7 Then ActiveWorkbook.Save: Application.EnableEvents = True: Exit Sub
ActiveWorkbook.SaveAs Filename:=PFAD & fDatei
ActiveWorkbook.SaveAs Filename:=aPFAD & aDatei
Application.EnableEvents = True
End Sub
Nochmals Danke
Michael