Um eine Arbeitsmappe mit VBA zu schließen, verwenden Sie die Methode „Workbook.Close“ und zum Beenden von Excel die Methode „Application.Quit“.
Hier sind einige Codebeispiele: Schließen Sie die aktive Arbeitsmappe und fragen Sie nach, ob gespeichert werden soll, wenn Änderungen in der Arbeitsmappe vorhanden sind:
Kopieren Sie den Codecode wie folgt:
Sub CloseWorkbook()
ActiveWorkbook.Close
Sub beenden
Wenn Sie Eingabeaufforderungen vermeiden möchten, können Sie den Parameter „SaveChanges“ hinzufügen, um beispielsweise die Arbeitsmappe direkt zu speichern und zu schließen:
Kopieren Sie den Codecode wie folgt:
Sub ClostAndSaveWorkbook()
ActiveWorkbook.Close Savechanges:=True
Sub beenden
Ändern Sie „True“ im obigen Code in „False“, um die Arbeitsmappe direkt zu schließen, ohne sie zu speichern.
Schließen Sie alle geöffneten Arbeitsmappen und fragen Sie, ob Sie speichern möchten:
Kopieren Sie den Codecode wie folgt:
Sub CloseAllWorkbooks()
Bei Fehler Weiter fortsetzen
Arbeitsmappen.Schließen
Sub beenden
Beenden Sie Excel und werden Sie aufgefordert, die geänderte Arbeitsmappe zu speichern:
Kopieren Sie den Codecode wie folgt:
SubQuitExcel()
Anwendung.Beenden
Sub beenden
Speichern Sie die aktive Arbeitsmappe und beenden Sie Excel:
Kopieren Sie den Codecode wie folgt:
Sub SaveActiveWorkAndQuit()
ActiveWorkbook.Save
Anwendung.Beenden
Sub beenden
Der folgende Code fragt beim Beenden von Excel nicht nach, ob die Arbeitsmappe gespeichert werden soll.
Speichern Sie alle geöffneten Arbeitsmappen und beenden Sie Excel:
Kopieren Sie den Codecode wie folgt:
Sub SaveAllAndQuit()
Für jede wbk in Arbeitsmappen
wbk.Speichern
Nächste
Anwendung.Beenden
Sub beenden
Beenden Sie Excel, ohne Änderungen zu speichern:
Kopieren Sie den Codecode wie folgt:
SubQutiAndNoAlerts()
Application.DisplayAlerts = False
Anwendung.Beenden
Sub beenden
Hier sind einige häufige Vorgänge in VBA:
Öffnen Sie eine neue Arbeitsmappe
Kopieren Sie den Codecode wie folgt:
Arbeitsmappen.Hinzufügen
Rufen Sie den Namen der ersten Arbeitsmappe ab
Kopieren Sie den Codecode wie folgt:
Arbeitsmappen(1).Name
Ermitteln Sie die Anzahl der geöffneten Arbeitsmappen
Kopieren Sie den Codecode wie folgt:
Arbeitsmappen.Anzahl
Aktivieren Sie die zweite geöffnete Arbeitsmappe
Kopieren Sie den Codecode wie folgt:
Arbeitsmappen(2).Aktivieren
Aktivieren Sie die Arbeitsmappe Chap02.xls
Kopieren Sie den Codecode wie folgt:
Arbeitsmappen("Chap02.xls").Aktivieren
Die aktuell aktive Arbeitsmappe wird als NewChap.xls gespeichert
Kopieren Sie den Codecode wie folgt:
ActiveWorkbook.SaveAs Filename:="NewChap.xls"
Schließen Sie die erste Arbeitsmappe
Kopieren Sie den Codecode wie folgt:
Arbeitsmappen(1).Schließen
Schließen Sie die aktuell aktive Arbeitsmappe, ohne die Änderungen zu speichern
Kopieren Sie den Codecode wie folgt:
ActiveWorkbook.Close SaveChanges:=False
Schließen Sie alle geöffneten Arbeitsmappen
Kopieren Sie den Codecode wie folgt:
Arbeitsmappen.Schließen
Wenn Sie das letzte Beispiel ausgeführt haben, sind jetzt alle Ihre Arbeitsmappen geschlossen.
Öffnen Sie unbedingt eine neue Arbeitsmappe, bevor Sie sie in einem Arbeitsblatt verwenden.
Wenn Sie ein einzelnes Arbeitsblatt hinzufügen, müssen Sie wissen, wie Sie ein neues Arbeitsblatt zur Arbeitsmappe hinzufügen, wie Sie ein Arbeitsblatt oder eine Gruppe von Arbeitsblättern auswählen und wie Sie Arbeitsblätter benennen, kopieren, verschieben und löschen.
In VB erfordert jede Aufgabe eine spezielle Methode oder Eigenschaft.
Fügen Sie ein neues Arbeitsblatt hinzu
Kopieren Sie den Codecode wie folgt:
Arbeitsblätter.Hinzufügen
Rufen Sie den Namen des ersten Arbeitsblatts ab
Kopieren Sie den Codecode wie folgt:
Arbeitsblätter(1).Name
Wählen Sie das Arbeitsblatt mit dem Namen „Sheet3“ aus.
Kopieren Sie den Codecode wie folgt:
Arbeitsblätter(3).Auswählen
Wählen Sie das erste, dritte und vierte Arbeitsblatt aus
Kopieren Sie den Code wie folgt: Worksheets(Array(1,3,4)).Select
Aktivieren Sie das Arbeitsblatt mit dem Namen „Sheet1“
Kopieren Sie den Codecode wie folgt:
Arbeitsblätter("Sheet1").Aktivieren
Verschieben Sie Blatt „Blatt2“ vor Blatt „Blatt1“
Kopieren Sie den Codecode wie folgt:
Worksheets("Sheet2").Move Before:=Worksheets("Sheet1")
Benennen Sie das Arbeitsblatt „Blatt2“ in „Ausgaben“ um.
Kopieren Sie den Codecode wie folgt:
Worksheets("Sheet2").Name = "Ausgaben"
Rufen Sie die Anzahl der Arbeitsblätter in der aktuellen Arbeitsmappe ab
Kopieren Sie den Codecode wie folgt:
Arbeitsblätter.Anzahl
Löschen Sie das Arbeitsblatt „Ausgaben“ in der aktuellen Arbeitsmappe
Kopieren Sie den Codecode wie folgt:
Arbeitsblätter("Ausgaben").Löschen