wie nachfolgend beschrieben öffne ich 2 Arbeitsmappen und blende eine davorn aus.
Dies funktionier auch.
Beim Schliessen der Arbeitsmappe sollen beide ohne Rückfrage gespeichert und geschlossen werden.
Leider wird der Code Windows(sFile).Visible = True oder Windows("FaktD.xlsx").Visible = True unterbrochen.
Wo liegt mein Fehler?
Danke!
Gruß
Sigi
Private Sub Workbook_Open()
Dim sFile As String, sPath As String
sFile = "FaktD.xlsx"
sPath = ThisWorkbook.Path & "\" & sFile
'Fehlermeldung wenn Datei nicht vorhanden
If WkbExists("FaktD.xlsx") = False Then
If Dir(sPath) = "" Then
MsgBox "Kann Datei '" & sPath & "' nicht finden -" _
& vbLf & "Die Datei" & sPath & "muss sich im gleichen Ordner wie" & vbLf & " _
FaktV02" & vbLf & "befinden!"
Else
Workbooks.Open sPath
ActiveWindow.Visible = False
End If
Else
Workbooks(sFile).Activate
ActiveWindow.Visible = False
End If
'Startseite aufrufen
Windows("FaktV02.xlsm").Activate
Workbooks("FaktV02.xlsm").Sheets("Menu").Activate
'StartMenu aufrufen
Call Menu_open
UFMenu.Show
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
sFile = "FaktD.xlsx"
With Application
.ScreenUpdating = False
.DisplayAlerts = False
.EnableEvents = False
'Ausgeblendete Arbeitsmappe speichern und schliessen
If WkbExists(sFile) Then
' Windows(sFile).Visible = True
Windows("FaktD.xlsx").Visible = True
If ActiveWorkbook.Saved = False Then
ActiveWorkbook.Save
ActiveWorkbook.Close
End If
Else
MsgBox "Bereits geschlossen"
End If
'FaktV02.xlsm speichern und schliessen
If Not ThisWorkbook.Saved Then
ThisWorkbook.Close savechanges:=True
End If
.ScreenUpdating = True
.DisplayAlerts = True
.EnableEvents = True
End With
End Sub