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

Arbeitsmappe schließen mit VBA

Forumthread: Arbeitsmappe schließen mit VBA

Arbeitsmappe schließen mit VBA
06.06.2002 15:39:52
Ewald
Hallo zusammen,

mit dem nachfolgenden VBA-Code möchte ich eine Arbeitsmappe schließen, funktioniert aber nicht.
Sub MappeSchließen()
Workbooks("Test.xls").Close SaveChanges:=True
End Sub

Kann mir jemand helfen?

Vielen Dank.

Grüße

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Arbeitsmappe schließen mit VBA
06.06.2002 15:48:47
Alex
Hi!

geht nicht auch:


Sub MappeSchließen()
ActiveWorkbook.Save
ActiveWindow.Close
End Sub


MfG Alex

Re: Arbeitsmappe schließen mit VBA
06.06.2002 15:48:56
Monika Weber
Hallo Ewald

Bei mir (XL2000) klappt das einwandfrei.

Heisst die Mappe denn wirklich Test.xls?
Kriegst du eine Fehlermeldung?
Was genau klappt denn nicht?

Es liebs Grüessli aus der Schweiz
Monika Weber


www.jumper.ch
*** Generell: Bitte kein Crossposting ***


Anzeige
Re: Arbeitsmappe schließen mit VBA
06.06.2002 15:51:41
Roland Kösting
Hallo Ewald,
muss so gehen. Es sei denn, die Mappe heisst nicht "Test.xls".
Dann lieber activeworkbook.close verwenden.
Gruss Roland
Danke!!!
06.06.2002 16:35:46
Ewald
Es funktioniert jetzt.

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Arbeitsmappe mit VBA schließen


Schritt-für-Schritt-Anleitung

Um eine Arbeitsmappe in Excel mit VBA zu schließen, kannst du den folgenden Code verwenden:

Sub MappeSchließen()
    Workbooks("Test.xls").Close SaveChanges:=True
End Sub

Dieser Code schließt die Arbeitsmappe „Test.xls“ und speichert alle Änderungen. Stelle sicher, dass die Arbeitsmappe tatsächlich diesen Namen hat, da sonst eine Fehlermeldung auftritt.

Eine alternative Möglichkeit, die aktive Arbeitsmappe zu schließen, ist:

Sub MappeSchließen()
    ActiveWorkbook.Save
    ActiveWindow.Close
End Sub

Diese Methode speichert die aktive Arbeitsmappe und schließt dann das aktive Fenster.


Häufige Fehler und Lösungen

  1. Fehlermeldung beim Schließen:

    • Überprüfe, ob die Arbeitsmappe den korrekten Namen hat. Wenn der Name nicht übereinstimmt, kannst du die Fehlermeldung „Arbeitsmappe nicht gefunden“ erhalten.
  2. Änderungen nicht gespeichert:

    • Wenn du SaveChanges:=True nicht angibst, wird die Arbeitsmappe ohne Speicherung geschlossen, was zu Datenverlust führen kann. Verwende stattdessen ActiveWorkbook.Close SaveChanges:=True.
  3. Excel reagiert nicht:

    • Manchmal kann es vorkommen, dass Excel einfriert. In solchen Fällen solltest du auf die Taskleiste klicken und den Arbeitsbereich von Excel überprüfen.

Alternative Methoden

Falls du eine Arbeitsmappe ohne zu speichern schließen möchtest, kannst du diesen Code verwenden:

Sub MappeSchließenOhneSpeichern()
    Workbooks("Test.xls").Close SaveChanges:=False
End Sub

Alternativ kannst du die Methode ActiveWorkbook.Close verwenden, um die aktive Arbeitsmappe zu schließen. Dies ist besonders nützlich, wenn du mit mehreren Arbeitsmappen arbeitest.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die VBA-Funktionen nutzen kannst:

  1. Arbeitsmappe speichern und schließen:
Sub SpeichernUndSchließen()
    ActiveWorkbook.Save
    ActiveWorkbook.Close
End Sub
  1. Alle offenen Arbeitsmappen schließen:
Sub AlleMappenSchließen()
    Dim wb As Workbook
    For Each wb In Workbooks
        wb.Close SaveChanges:=True
    Next wb
End Sub
  1. Excel komplett schließen:
Sub ExcelBeenden()
    Application.Quit
End Sub

Tipps für Profis

  • Verwende On Error Resume Next, um den Code robuster zu machen und Fehler zu ignorieren, die möglicherweise beim Schließen auftreten.

  • Teste deinen VBA-Code in einer Kopie deiner Arbeitsmappe, um Datenverluste zu vermeiden.

  • Du kannst auch Benutzereingaben für den Dateinamen einfügen, um den Code flexibler zu gestalten:

Sub MappeNachBenutzereingabeSchließen()
    Dim dateiname As String
    dateiname = InputBox("Gib den Namen der Arbeitsmappe ein:")
    Workbooks(dateiname).Close SaveChanges:=True
End Sub

FAQ: Häufige Fragen

1. Kann ich eine Arbeitsmappe schließen, ohne sie zu speichern? Ja, du kannst die Arbeitsmappe mit SaveChanges:=False schließen.

2. Wie schließe ich alle offenen Arbeitsmappen gleichzeitig? Du kannst eine Schleife verwenden, um alle Arbeitsmappen zu schließen. Siehe das Beispiel im Abschnitt „Praktische Beispiele“.

3. Was passiert, wenn ich ActiveWorkbook.Close ohne SaveChanges verwende? Die Arbeitsmappe wird geschlossen, ohne die Änderungen zu speichern, was zu Datenverlust führen kann. Achte darauf, SaveChanges korrekt zu setzen.

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