VBA If WB close, then do xx
27.04.2020 11:44:46
Andi
Ich würde mich mal wieder sehr über eure Hilfe freuen. Zu der Situation:
Beim Öffnen einer Datei A soll automatisch im Hintergrund Datei B geöffnet werden (dieser Teil funktioniert), da in Datei B Daten regelmäßig aktualisiert werden müssen, und Datei A diese benötigt (funktioniert auch). Ein Zusammenführen beider Dateien ist leider nicht möglich. Wird Datei A geschlossen (ohne automatische Speicherung), so soll Datei B automatisch gespeichert und auch geschlossen werden. Mein erster Code funktioniert, nur beim zweiten kommt eine Fehlermeldung:
Sub Test1() 'Öffnet im Hintergrund die Datei B, sodass diese sich automatisch aktualisieren _
kann
Abfrage = [Pfad undName der Datei]
Application.ScreenUpdating = False 'lässt Änderungen im Hintergrund durchführen
Application.ShowWindowsInTaskbar = False
Set wb = Workbooks.Open(Abfrage)
Application.ShowWindowsInTaskbar = True
Application.ScreenUpdating = True
Set wb = Nothing
End Sub
Sub VorSchliessen()
Dim Abfrage As String
Dim wb As Workbook
Abfrage = [Pfad und Name der Datei]
Set wb = Workbooks(Abfrage)
If ActiveWorkbook.Close(False) Then 'hier kommt die Fehlermeldung
Workbooks(Abfrage).Close SaveChanges:=True
End Sub
Bei dem If Teil kommt die Fehlermeldung, dass eine Funktion oder Variable erwartet wird. Beide Codes sind in "DieserArbeitsmappe". Vielleicht weiß ja jemand, warum die Fehlermeldung kommt, bzw. wie ich den Code abändern kann, damit mein Vorhaben funktioniert.Ein Plus wäre, wenn man auch noch einbauen könnte (im ersten Code wahrscheinlich), dass sich die zweite Datei (B) nur dann öffnet, wenn sie nicht bereits auf einem anderen PC geöffnet ist. Das ist aber nur zweitrangig!
Ich bin über jede Hilfe dankbar.
Gruß
Andi