"Das Dokument wurde erfolgreich gespeichert, aber Excel kann das Dokument aufgrund einer Zugriffsverletzung nicht erneut öffnen. Bitte schließen Sie dieses Dokument, und versuchen Sie erneut es zu öffnen."
Es ist dabei unerheblich an welcher Stelle das Dokument gespeichert ist (Desktop, Stick, Netzwerk, Festplatte). Als System nutze ich Win7 mit Excel 2007. Es spielt auch keine Rolle auf welchem Blatt ich innerhalb der Datei/ des Workbooks bin.
Es gibt in dem Dokument ein BeforeClose-Event, dass die Combo-Boxen leert, weil es sonst ständig zu Fehlern in den Boxen beim Schließen des Programmes kam.
Weiterhin gibt es folgende workbook Events
Private Sub Workbook_Open()
done = False
For i = 1 To 4 '
If Dir(ThisWorkbook.Path & "\Sicherungen\") = "" Then Call MkDir(ThisWorkbook.Path & "\ _
Sicherungen\")
If Dir(ThisWorkbook.Path & "\Sicherungen\" & ThisWorkbook.Name & ".temp" & i) = "" Then
If done = False Then
Application.DisplayAlerts = False
ThisWorkbook.SaveCopyAs Filename:=ThisWorkbook.Path & "\Sicherungen\" & ThisWorkbook.Name & _
".temp" & i
If i "" Then Kill (ThisWorkbook.Path & "\Sicherungen\" & ThisWorkbook.Name & ".temp" & i + 1)
If i = 4 Then If Dir(ThisWorkbook.Path & "\Sicherungen\" & ThisWorkbook.Name & ".temp" & _
1) "" Then Kill (ThisWorkbook.Path & "\Sicherungen\" & ThisWorkbook.Name & ".temp" & 1)
Application.DisplayAlerts = True
done = True
i = 4
End If
End If
Next i
If Sheets("Willkommen").Visible = True Then Sheets("Willkommen").Select
LetztesBlatt = CStr(Sheets("Willkommen").Cells(22, 3))
On Error Resume Next
Sheets(LetztesBlatt).Select
If Err 0 Then Sheets("Zusammen").Select
Err = 0
End Sub
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As _
Boolean)
'Cancel = True
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Dim Antwort As Integer
If Sh Is Nothing Then Exit Sub
If Sh.Name = "PrintList" Then
If ThisWorkbook.Sheets("PrintList").Visible = xlSheetHidden Or ThisWorkbook.Sheets(" _
PrintList").Visible = xlSheetVeryHidden Then Exit Sub
Antwort = MsgBox("Kann ""PrintList"" ausgeblendet werden?" + Chr(10) + "(Wird über ""Liste _
Drucken"" in ""Rechnungsauswahl"" neu erzeugt)", vbYesNoCancel, "Tabelle schließen")
If Antwort = vbYes Then
Application.DisplayAlerts = False
ThisWorkbook.Sheets("PrintList").Visible = False
ThisWorkbook.Sheets("PrintList").Delete
Application.DisplayAlerts = True
Exit Sub
End If
If Antwort = vbCancel Then ThisWorkbook.Sheets("PrintList").Activate
End If
If Sh Is Nothing Then Exit Sub
If Sh.Name = "FAListe" Then
If ThisWorkbook.Sheets("FAListe").Visible = xlSheetHidden Or ThisWorkbook.Sheets("FAListe"). _
_
Visible = xlSheetVeryHidden Then Exit Sub
Antwort = MsgBox("Kann ""FAListe"" ausgeblendet werden?" + Chr(10) + "(Wird über ""FA Liste" _
_
" in ""Rechnungsauswahl"" neu erzeugt)", vbYesNoCancel, "Tabelle schließen")
If Antwort = vbYes Then
Application.DisplayAlerts = False
'ThisWorkbook.Sheets("FAListe").Visible = True
'ThisWorkbook.Sheets("FAListe").Visible = xlSheetVisible
'ThisWorkbook.Sheets("FAListe").Visible = xlSheetHidden
'ThisWorkbook.Sheets("FAListe").Visible = xlSheetVeryHidden
ThisWorkbook.Sheets("FAListe").Visible = False
ThisWorkbook.Sheets("FAListe").Delete
Application.DisplayAlerts = True
Exit Sub
End If
If Antwort = vbCancel Then ThisWorkbook.Sheets("FAListe").Activate
End If
End Sub
Das BeforeSave Event ist im Moment rausgelöscht und soll später nur einige Blätter vor dem Speichern verstecken, damit beim Öffnen ohne aktive Makros kein direkter Zugriff auf die Blätter möglich ist. Wie gesagt - ist aber im Moment rauskommentiert um das als Fehlerquelle auszuschließen.Alle anderen Events sind Blattspezifisch. Mein zweiter Beitrag mit Thema Zellendropdown bezieht sich auf die selbe Datei. Ich hatte dies auch schon dort gepostet - aber ohne Reaktion und mittlerweile ist es aufgrund der Forumsstruktur nicht mehr sichtbar...
Vielen Dank fürs Lesen (und evtl. Helfen)
Grüße
Daniel