Muss eine Datei mit VBA geöffnet werden? In der Regel nicht. Notwendig kann es aber innerhalb einer laufenden Prozedur werden, wenn Daten eben aus dieser Datei benötigt werden.
Wenn es um die Programmierung des Öffnens einer Datei geht, ist es gleichgültig, ob Daten in diese Datei eingetragen oder ob Daten aus dieser Datei entnommen werden sollen.
Dieser Beitrag unterscheidet zwei Fälle. Zuerst geht es um das einfache Öffnen, dann um das von einer Entscheidung abhängige Öffnen.
Unabhängiges Öffnen einer Datei
Die Datei soll „VBA_Datenblatt.xlsx“ heißen.
Schreibe diesen Code in ein Modul:
Sub ÖffnenDatei1()
Workbooks.Open Filename:=“C:\Excel\VBA_Datenblatt.xlsx“
End Sub
Starte das Makro und die Datei wird geöffnet, wenn es sie gibt.
Abhängiges Öffnen einer Datei
Jetzt soll die Datei nur dann geöffnet werden, wenn das heutige Datum größer als das in Zelle B5 eingetragene Datum ist.
Sub ÖffnenDatei2()
Dim datHeute As Date
datHeute=Date
If datHeute>Range(„B5“) Then
Workbooks.Open Filename:=“C:\Excel\VBA_Datenblatt.xlsx“
Else
MsgBox („Das ist zu früh“)
End If
End Sub
HEUTE() ist bei mir der 07.01.2017. Das Makro wird somit ausgeführt und die Datei geöffnet.
Trage ich in B5 das Datum 20.01.2017 ein, bekomme ich diese Mitteilung:
Auch hier arbeitet das Makro korrekt, die Datei wird nicht geöffnet.
Im Beispiel habe ich den Datumsvergleich als Bedingung definiert. Es können aber alle anderen denkbaren Bedingungen gesetzt werden, z.B. wenn ein IST-Wert um mehr als 10% vom PLAN-Wert abweicht, wenn über ein bestimmtes Produkt berichtet werden soll oder wenn ein anderes Makro gelaufen ist.
Die Bedingungen müssen auch nicht mit If … Then … Else gesetzt werden. Wie mein zweiteiliger Beitrag zu Verzweigungen in VBA zeigt, geht das z.B. auch mit Select Cas oder der Choose-Funktion.
In der Praxis treten immer wieder Situationen auf, die ein solches Vorgehen erfordern.
Entdecke mehr von Clevercalcul
Subscribe to get the latest posts sent to your email.
4 Gedanken zu „VBA-Methoden: Eine Datei öffnen“