Excel VBA – Prüfen ob eine Mappe geöffnet ist

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.

111 VBA Makros die Ihr Leben leichter machen. Egal ob Sie Einsteiger oder fortgeschrittener Anwender sind – in diesem Buch finden Sie Lösungen für Ihre alltäglichen Aufgaben. Keine Vorkenntnisse notwendig.

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

Unternehmensplanung mit SAP BPC

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.
20 Excel Tricks

Jetzt anfordern!

* Pflichtfeld
 
Kein SPAM. 100% sicher.

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.

2 Kommentare
  1. Lutz Fricke
    Lutz Fricke sagte:

    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

    Antworten

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.