VBA-Methoden: Eine Datei schließen

Wenn eine Datei geöffnet und bearbeitet wurde, soll sie irgendwann auch wíeder geschlossen werden. Das wiederum kann manuell oder mit einem Makro erledigt werden.

Das manuelle Schließen war schon im Beitrag „VBA-Methoden: Eine Datei speichern“ ein Thema. Dabei wurde vor dem Schließen eine Speicherung mit einem Makro vorgenommen.

Wenn du eine Datei mit einem Makro schließen willst, gibt es auch hierbei verschiedene Möglichkeiten.

Einfaches Schließen einer Datei

Für das Schließen der aktiven Datei wird die Methode Close genutzt. Das geht so:

Sub SchließenDatei1()
ActiveWorkbook.Close
End Sub

Wenn du vorher nicht gespeichert hast, bekommst du diese Mitteilung:

Datei_schließen1

Erst wenn du dann „Speichern“ klickst, wird die Datei geschlossen. Das kannst du umgehen, wenn du den Speichern-Befehl in deinen Code mit einbaust. Zwei Möglichkeiten hast du hierfür:

Sub SchließenDatei2()
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub

oder so:

Sub SchließenDatei3()
ActiveWorkbook.Close SaveChanges:=True
End Sub

Nach dem Close-Befehl wird zusätzlich die Anweisung gegeben, dass die Speicherung von Veränderungen vorgenommen wird.

Schließen einer zusätzlich geöffneten Datei

Wie im Beitrag „VBA_Methoden: Eine Datei öffnen“ erläutert, hast du z.B. eine weitere Datei manuell oder mit einem Makro geöffnet. Du hast deine Bearbeitungen vorgenommen und willst die Datei nun über dein Makro wieder schließen. Eine Speicherung siehst du ebenfalls vor.

Sub SchließenDatei4()
Workbooks(„VBA_Datenblatt.xlsx“).Save
Workbooks(„VBA_Datenblatt.xlsx“).Close
End Sub

oder so:

Sub SchließenDatei5()
Workbooks(„VBA_Datenblatt.xlsx“).Close SaveChanges:=True
End Sub

Öffnen, Bearbeiten, Speichern und Schießen einer zusätzlichen Datei

Jetzt willst du die Vorgänge vom Öffnen bis zum Schließen einer zusätzlichen Datei mit einem Makro ausführen lassen.

Im Arbeitsblatt „Tabelle1“ der Zusatzdatei soll in Zelle B10 der Text „Bearbeitung ist erfolgt“ eingetragen werden. Die Bearbeitung wird mit einer MsgBox bestätigt.

Sub SchließenDatei6()
Workbooks.Open Filename:=“C:\Excel\VBA_Datenblatt.xlsx“
Worksheets(„Tabelle1“).Range(„B10″)=“Bearbeitung ist erfolgt“
MsgBox(„Eintrag erfolgt“)
Workbooks(„VBA_Datenblatt.xlsx“).Save
Workbooks(„VBA_Datenblatt.xlsx“).Close
End Sub

Schließen einer Datei nach dem Speichern

Die Zusatzdatei soll sofort geschlossen werden, wenn gespeichert wurde.

Sub SchließenDatei7()
If Workbooks(„VBA_Datenblatt.xlsx“).Saved=True Then
Workbooks(„VBA_Datenblatt.xlsx“).Close
Else
MsgBox(„Datei ist nicht gespeichert“)
End If
End Sub


Wurde nicht gespeichert, kann in diesem Fall auch nicht geschlossen werden. Du erhälst deshalb die Mitteilung „Datei ist nicht gespeichert“ mittels einer MsgBox.

Dynamische Datenbeschriftung ohne Nullwerte

Im Beitrag zur bedingten Formatierung von Diagrammen hast du eine zweite Datenreihe, die Ergebnis einer WENN-Abfrage war, ins Diagramm gebracht.

Indem du über Datenreihen formatieren die Reihenachsenüberlappung auf 100% eingestellt hast, entstand bei den Werten, die die Bedingung erfüllten, der Eindruck einer jeweils einzelnen Säule.

Weiterlesen „Dynamische Datenbeschriftung ohne Nullwerte“

Datenüberprüfung: Eine Zeitangabe zulassen

Wenn du in einer oder mehreren Zellen nur den Eintrag von Zeitangaben zulassen willst, gehst du auch hier im Menü Daten auf die Datenüberprüfung.

Es erscheint wieder das bekannte Menü. Diesmal wählst du unter „Zulassen“ die Option „Zeit“ aus.

DatenZeit1

Nur der Vollständigkeit halber, mit Zeit ist eine Uhrzeit gemeint.

Im nächsten Schritt musst du wohl oder übel präziser werden. Excel will es genauer wissen. Unter „Daten“ kannst du eine von acht Optionen wählen.

DatenZeit2

Wenn du sekundengenau arbeiten willst oder musst, musst du die Uhrzeit auch vollständig vorgeben, d.h., es sind Stunden, Minuten und Sekunden anzugeben, etwa so: 00:00:00.

Du entscheidest dich z.B. für „zwischen“ und willst die volle Bandbreite austesten.

Als Anfangszeit trägst du „00:00:00“, als Endzeit „24:00:00“ ein. Nach dem OK erhältst du eine Fehlermeldung. Warum?

Weil 24:00:00 schon wieder 00:00:00 des nächsten Tages ist. 24:00:00 ist hier tabu.

Du kannst daher alle Zeiten zwischen 00:00:00 und 23:59:59 eintragen. Eine Sekunde muss an 24 Stunden immer fehlen.

Du musst aber die Sekunden nicht eingeben, wenn dir die Minute genügt. Excel trägt die Sekunden trotzdem ein.

Trägst du z.B. 14:00 ein, wird in der Maske dann 14:00:00 stehen.

Wie sieht es bei einer anderen Auswahl für Daten aus?

„Nicht zwischen“ 05:00:00 und 10:00:00 heißt, nur Zeiten von 00:00:00 bis 04:59:59 und von 10:00:01 bis 23:59:59 können eingegeben werden.

„Gleich“ 08:05:07 heißt, exakt nur diese Zeit darf dort erscheinen, keine andere. Schon bei 08:05:08 gibt es wieder Fehleralarm.

Ebenso muss bei den anderen möglichen Auswahlen unter Daten genau auf die für zulässig erklärten Zeiten geachtet werden.

 

Nun, ist diese Variante, Daten zuzulassen, ein praktisches Thema für dich? Arbeitest du damit?

Lasse es uns wissen.

Welche Diagrammvarianten du in Excel erstellen kannst

Diagramme sind grafische Darstellungen von Daten, Sachverhalten oder Informationen. Durch sie wird der Nutzer in die Lage versetzt, die Sachverhalte und Zusammenhänge schnell zu erfassen.

Diagramme sind ein wesentliches Werkzeug bei der Erstellung von Berichten. Sie lassen sich mit Excel schnell und unkompliziert erstellen.

Weiterlesen „Welche Diagrammvarianten du in Excel erstellen kannst“