Excel VBA – Prüfen ob eine Mappe geöffnet ist
Dieser Beitrag ist ein Teil der VBA Grundlagen Serie.
In diesem Beitrag zeige ich Ihnen wie Sie über eine VBA Funktion prüfen können, ob eine Mappe geöffnet ist.
Wechseln Sie zunächst mit ALT+F5
in die Entwicklungsumgebung und fügen Sie ein neues Modul ein.
Erfassen Sie nun eine neue Funktion.
Function MappeOp(strName As String) As Boolean End Function
Sie übergeben der Funktion den Namen der jeweiligen Arbeitsmappe. Die Funktion gibt ihrerseits einen booleschen Wert zurück. Innerhalb der Funktion prüfen Sie mit einer Schleife ob die gewünschte Mappe geöffnet ist. Dazu definieren wir eine Variable vom Typ Workbook
. Setzen Sie den Rückgabewert zunächst auf False
. Sie gehen also zunächst davon aus, dass die Mappe nicht geöffnet ist. Sollte diese Hypothese widerlegt werden, ändern Sie den Rückgabewert auf True
. Anschließend verlassen Sie die Funktion.
Function MappeOp(strName As String) As Boolean Dim Mappe As Workbook MappeOp = False For Each Mappe In Application.Workbooks If Mappe.Name = strName Then MappeOp = True Exit Function End If Next Mappe End Function
111 VBA Makros die Ihr Leben leichter machen
Wollen Sie Ihre langweiligen Routineaufgaben loswerden? Möchten Sie Excel an Ihre Bedürfnisse anpassen, Berechnungen automatisieren, eigene Dialogfelder erstellen und vieles mehr? Dieses Buch zeigt Ihnen, wie Sie Ihre Aufgaben schnell und einfach mit VBA erledigen.
Erfassen Sie nun das Makro, welches Ihre Funktion MappeOp
aufruft und den gewünschten Mappennamen übergibt.
Sub MappeOffen() If MappeOp("test.xlsm") = True Then MsgBox "Die Mappe ist geöffnet" Else MsgBox "Die Mappe ist geschlossen" End If End Sub
Führen Sie nun Ihr Makro mit F5
aus.
Die Beispiel Excel Datei mit dem sofort einsetzbaren Makro und 111+ andere Makros, die Ihr Leben leichter machen, finden Sie hier.
Beeindrucke deinen Chef mit coolen Excel Tricks!
- Lasse dich von deinen Kollegen nicht abhängen!
- Spare Zeit und nutze diese für angenehmere Dinge
- Steigere deine Produktivität und Effizienz
- Es ist leicht - In meinem Newsletter gebe ich Schritt für Schritt Anleitungen die jeder versteht
- Bei der Anmeldung zu meinem Newsletter erhälst du das Buch „Excel Tricks die deinen Chef beeindrucken“ als Willkommensgeschenk.
Quellen und weiterführende Literatur:
Bernd Held – VBA mit Excel: Das umfassende Handbuch
Falls Ihnen dieser Beitrag weitergeholfen hat, wäre es eine sehr nette Anerkennung meiner Arbeit wenn Sie z.B. Ihre Bücher über Amazon bestellen würden. Wenn Sie ein Produkt kaufen, erhalte ich dafür eine Provision. Für Sie ändert sich am Preis des Produktes gar nichts. Ich möchte mich an dieser Stelle jetzt schon für Ihre Unterstützung bedanken.
Diese Lösungen funktionieren leider beide nicht, weil „MappeOp“ aus dem Visual Basic entfernt wurde.
Hallo Denis,
vielen Dank für den Code. Leider funktioniert er nicht, wenn die gesuchte Datei in einer anderen Instanz geöffnet ist.
Ich exportiere per VBA Daten aus SAP und die werden mir immer wieder in einer zweiten Excel Instanz geöffnet.
Wie kann ich prüfen, ob dieser Export erfolgt und die Datei geöffnet ist, auch wenn es in einer anderen Instanz erfolgt ist.
Gruß,
Lutz