Ich habe ein Problem mit einer UserForm diese wird mit folgendem VBA Code gestartet.
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Application.Visible = False
Application.ScreenUpdating = True
Load UserForm4
UserForm4.Show
End Sub
Private Sub Workbook_Activate()
UserForm4.Show (vbModeless)
End Sub
Diese Userform enthält folgende Codes:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = True
Application.Visible = True
Application.ScreenUpdating = True
vFile = "N:\Bericht\Wartung\Datei 1.xls"
Workbooks.Open Filename:=vFile, ReadOnly:=True
UserForm4.Hide
bolShowUseform = True
End Sub
Private Sub CommandButton2_Click()
If Not MsgBox("Wollen Sie das Formular wirklich schließen?", _
vbYesNo, "Formular schließen") = vbYes Then
Cancel = True
Else
Application.DisplayAlerts = False
Workbooks.Close
Application.Quit
Application.DisplayAlerts = True
End If
End Sub
Private Sub CommandButton3_Click()
Load UserForm3
UserForm3.Show
End Sub
Private Sub CommandButton4_Click()
Load UserForm2
UserForm2.Show
End Sub
Private Sub CommandButton5_Click()
Application.ScreenUpdating = True
Application.Visible = True
Application.ScreenUpdating = True
vFile = "N:\Bericht\Wartung\Datei 2.xls"
Workbooks.Open Filename:=vFile, ReadOnly:=True
UserForm4.Hide
bolShowUseform = True
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
MsgBox _
"Schließen Sie die UserForm über die Schaltfläche Beenden!", _
vbInformation
Cancel = True
End If
End Sub
Function IsWorkbookOpen(strWB As String) As Boolean
On Error Resume Next
IsWorkbookOpen = Not Workbooks(strWB) Is Nothing
End Function
Private Sub UserForm_Initialize()
If IsWorkbookOpen("Datei1.xls") Then
Application.ScreenUpdating = False
Application.Visible = False
Application.EnableEvents = False
Workbooks("Datei1.xls").Close SaveChanges = False
ElseIf IsWorkbookOpen("Datei2.xls") Then
Application.ScreenUpdating = False
Application.Visible = False
Application.EnableEvents = False
Workbooks("Datei2.xls").Close SaveChanges = False
End If
End Sub
Jetzt kommt mein Problem wenn ich diese Datei1 oder Datei2 öffne, will ich das die UserForm4 wieder gestartet wird ohne das die Datei1 oder Datei2 gespeichert wird.
Codes von Datei1
Private Sub Workbook_Open()
ActiveSheet.EnableAutoFilter = True
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Application.Visible = False
Application.ScreenUpdating = True
Workbooks("Datei3.xls").Sheets("Tabelle1").Activate
End Sub
Gibt es hier eine Lösung für?
Also die UserForm 4 dient als Startseite, in dieser UserForm findet die Auswahl statt auf was man zugreifen möchte. Sobald halt Datei1 oder Datei2 wieder geschlossen werden soll wieder nur die UserForm4 sichtbar sein von der Datei3. Dies kann auch so Erfolgen das die Datei3 geschlossen wird und beim beenden von Datei1 oder Datei2 wieder gestartet wird jedoch habe ich das noch nicht hinbekommen...