Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1736to1740
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

BeforeClose andere Datei Schließenn

BeforeClose andere Datei Schließenn
28.01.2020 20:45:31
Andreas
Hallo,
würde gern beim Schließen der Mappe vorher eine zweite Datei Speichern und Schließen- ohne Nachfrage und Hinweise. Die zweite Datei ist jedoch nicht immer geöffnet- nur ab und zu.
Habe dazu in "Diese Arbeitsmappe" folgenden Code geschrieben.
Klappt nur nicht ganz...
  • 
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Workbooks(„ProtokollnR1.xlsm“).Close SaveChanges:=True
    If ThisWorkbook.Saved = False Then
    ThisWorkbook.Save
    End If
    End Sub
    


  • Gruß Andreas

    8
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: BeforeClose andere Datei Schließenn
    28.01.2020 20:49:09
    Hajo_Zi
    Hallo Andreas,
    Prüfen ob Datei schon offen
    Private Sub Workbook_Open()
    Dim BoOffen As Boolean
    Dim WoDatei As Workbook
    For Each WoDatei In Workbooks
    If WoDatei.Name = "test.xls" Then
    MsgBox "Datei ist schon geöffnet!"
    BoOffen = True
    Exit For
    End If
    Next
    If BoOffen = False Then
    MsgBox "Test wird automatisch geöffnet!"
    Workbooks.Open Filename:="C:\Eigene Dateien\Test.xls"
    End If
    End Sub
    

    AW: BeforeClose andere Datei Schließenn
    28.01.2020 21:38:33
    Andreas
    Danke Hajo,
    war noch nicht ganz die Lösung, habe mal versucht das Makro abzuändern. Leider noch nicht ganz der Erfolg.
    Private Sub Workbook_Workbook_BeforClosed(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim BoOffen As Boolean
    Dim WoDatei As Workbook
    For Each WoDatei In Workbooks
    If WoDatei.Name = "ProtokollnR1.xlsm" Then
    MsgBox "Datei wird geschlossen!"
    BoOffen = True
    Exit For
    End If
    Next
    If BoOffen = False Then
    Worksheets(ProtokollnR1.xlsm).Close SaveChanges:=True
    End If
    End Sub
    
    Gruß Andreas
    Anzeige
    AW: BeforeClose andere Datei Schließenn
    28.01.2020 22:39:25
    Werner
    Hallo,
    so?
    Private Sub Workbook_Workbook_BeforClosed(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim WoDatei As Workbook
    For Each WoDatei In Workbooks
    If WoDatei.Name = "ProtokollnR1.xlsm" Then
    WoDatei.Close True
    Exit For
    End If
    Next WoDatei
    If ThisWorkbook.Saved = False Then
    ThisWorkbook.Save
    End If
    End Sub
    

    Gruß Werner
    AW: BeforeClose andere Datei Schließenn
    29.01.2020 05:36:28
    Hajo_Zi
    Hallo Andreas,
    Gut das muss auf einen Fehler Fehler laufen.
    Wenn die Dateio nicht offen ist möchtest Du Sie schließen.
    Ich habe keine Ahnung warum.
    Gruß Hajo
    Anzeige
    AW: BeforeClose andere Datei Schließenn
    29.01.2020 07:45:03
    Luschi
    Hallo Andreas,
    dieses Ereignis gibt es nicht:
    Private Sub Workbook_Workbook_BeforClosed(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    sondern
    Private Sub Workbook_BeforClose(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    und muß sich im Klassenmodul 'DieseArbeitsmappe' bzw. 'ThisWorkbook' befinden.
    statt: If BoOffen = False Then
    so: If BoOffen = True Then
    oder noch besser: If BoOffen Then
    denn 'BoOffen = True' ist doppelt-gemoppelt, denn 'If' prüfst immer selbst schon auf Wahrheitswert der boolschen Variable
    Gruß von Luschi
    aus klein-Paris
    Anzeige
    Augen wie ein Luchs...
    29.01.2020 18:30:10
    Werner
    Hallo Luschi,
    ...eine sehr gute Seehilfe - war mir gar nicht aufgefallen.
    Gruß Werner
    Danke
    29.01.2020 22:45:38
    Andreas
    Danke an Hajo, Werner und Luschi.
    Jetzt ist es Perfekt.
    Mache wenig mit VBA und arbeite mich langsam durch.
    Gruß Andreas
    Gerne u. Danke für die Rückmeldung. o.w.T.
    29.01.2020 23:28:49
    Werner

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige