Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Wenn bestimmte Datei offen ist, schließen

Wenn bestimmte Datei offen ist, schließen
22.07.2007 13:15:25
Karsten
Hallo
Ich weiß, für die Profis ist das wohl eine kleinigkeit, aber ich hänge.
Ich öffne in Normalfall eine Datei, die eine weiter Datei öffnet.
Dann soll, wenn die erste Datei noch offen ist, sie automatisch geschlossen werden.
Das ginge ja mit :
Workbooks("Start.xls").Close
Aber wenn jemand die zweite Datei direkt öffent, kommt ein fehler, weil die Datei ja nicht offen ist.
Wie lautet denn die Abfrage, ob die Datei Start geöffnet ist?
If Workbooks("Reklamationen.xls")=open then Workbooks("Reklamationen.xls").Close
oder so ähnlich.
Danke für eure Hilfe
MfG
Karsten

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn bestimmte Datei offen ist, schließen
22.07.2007 13:20:12
Hajo_Zi
Hallo Karsten,
du kannst nur eine Schleife machen über alle offenen Datei oder Du versuchst die Datei zu schließen und wertest den Fehler aus.

BoOffen = False
For Each x In Workbooks
If x.Name = "Auftragsplanung Übersicht.XLS" Then
Workbooks("Auftragsplanung Übersicht.XLS").Save
BoOffen = True
Exit For
End If
Next
If BoOffen = False Then Workbooks.Open Filename:=StNetz & "Auftragsplanung Übersicht.XLS"



Anzeige
AW: Wenn bestimmte Datei offen ist, schließen
22.07.2007 13:22:17
Oberschlumpf
Hi Karsten
Versuch mal so:

Dim liWs As Integer
For liWs = 1 To Workbooks.Count
If Workbooks(liWs).Name = "Reklamationen.xls" Then
Workbooks(liWs).Close
Exit For
End If
Next


Hilft das?
Ciao
Thorsten

AW: Wenn bestimmte Datei offen ist, schließen
22.07.2007 13:30:00
Karsten
Hi Thorsten
Klappt prima.
Danke
MfG
Karsten

Anzeige
AW: Wenn bestimmte Datei offen ist, schließen
22.07.2007 15:45:45
Karsten
Hi
Jetzt habe ich ein Problem.
Wenn ich die Start.xls schließe, wird das angefangene Marcro der zweiten Datei abgebrochen.
Wie kann ich das verhinder, oder das Macro erneut starten?
MfG
Karsten

AW: Wenn bestimmte Datei offen ist, schließen
22.07.2007 18:00:33
Oberschlumpf
Hi Karsten
Das kann ich dir auch nicht sagen.
Denn ich weiß ja nicht, was in deinen Makros passiert.
Du kannst ja mal alle betroffenen Makros mit Stop-Signalen belegen (im VBE mit F9) und dann Schritt für Schritt der Makros verfolgen.
Irgendwann müsstest du dann sehen, wo es hakt.
Hilft das?
Ciao
Thorsten
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Automatisches Schließen von Excel-Dateien


Schritt-für-Schritt-Anleitung

Um eine Excel-Datei automatisch zu schließen, wenn eine andere Datei geöffnet wird, kannst du folgendes VBA-Makro verwenden:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code in das Modul:

    Dim BoOffen As Boolean
    Dim x As Workbook
    BoOffen = False
    
    For Each x In Workbooks
       If x.Name = "Reklamationen.xls" Then
           x.Close
           BoOffen = True
           Exit For
       End If
    Next
    
    If Not BoOffen Then
       Workbooks.Open Filename:="Pfad\zu\Auftragsplanung Übersicht.XLS"
    End If
  4. Ändere den Dateipfad zu deiner Datei und speichere das Modul.

  5. Starte das Makro, um die Datei zu schließen, wenn sie offen ist.


Häufige Fehler und Lösungen

  • Fehler: "Die Datei kann nicht geschlossen werden."

    • Lösung: Stelle sicher, dass die Datei, die du schließen möchtest, auch wirklich geöffnet ist. Überprüfe den Dateinamen auf Tippfehler.
  • Fehler: "Makro wird abgebrochen, wenn eine andere Datei geschlossen wird."

    • Lösung: Wenn das Schließen einer Datei ein anderes Makro unterbricht, kannst du das Makro mit einer Fehlerbehandlungsroutine umgeben, um es fortzusetzen oder neu zu starten.

Alternative Methoden

Eine alternative Methode, um eine Excel-Datei zu schließen, besteht darin, die Fehlerbehandlung zu verwenden. Du kannst versuchen, die Datei einfach zu schließen und dann den Fehler abzufangen, falls die Datei nicht offen ist. Hier ein Beispiel:

On Error Resume Next
Workbooks("Reklamationen.xls").Close
On Error GoTo 0

Diese Methode kann nützlich sein, wenn du nicht sicher bist, ob die Datei offen ist.


Praktische Beispiele

Wenn du mit der Auftragsplanung in Excel arbeitest und sicherstellen möchtest, dass keine Konflikte durch geöffnete Dateien entstehen, kannst du das folgende Beispiel verwenden:

Sub CloseIfOpen()
    Dim wb As Workbook
    For Each wb In Workbooks
        If wb.Name = "Auftragsplanung Übersicht.XLS" Then
            wb.Close SaveChanges:=True
            Exit Sub
        End If
    Next wb
    MsgBox "Die Datei war nicht offen."
End Sub

Dieses Makro schließt die Datei „Auftragsplanung Übersicht.XLS“, wenn sie offen ist, und speichert die Änderungen.


Tipps für Profis

  • Nutze die Application.ScreenUpdating-Eigenschaft, um die Bildschirmaktualisierung während des Schließens von Dateien zu deaktivieren. So läuft dein Makro schneller und ohne visuelle Unterbrechungen:

    Application.ScreenUpdating = False
    ' Dein Code hier
    Application.ScreenUpdating = True
  • Wenn du häufig mit Excel-Makros arbeitest, erstelle eine Sammlung von nützlichen Skripten, die du schnell aufrufen kannst.


FAQ: Häufige Fragen

1. Wie kann ich überprüfen, ob eine Excel-Datei geöffnet ist? Du kannst eine Schleife über alle geöffneten Workbooks machen und den Namen vergleichen, wie im obigen Beispiel gezeigt.

2. Was passiert, wenn das zu schließende Makro abgebrochen wird? Wenn du das Makro nicht korrekt behandelst, wird die Ausführung gestoppt. Verwende On Error-Anweisungen, um dies zu verhindern und das Makro bei Bedarf neu zu starten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige