Vba: überprüfen sie, ob die arbeitsmappe geöffnet ist (mit beispiel)
Sie können die folgende Syntax in VBA verwenden, um zu überprüfen, ob eine bestimmte Arbeitsmappe derzeit geöffnet ist.
SubCheckWorkbookOpen ()
Dim resultCheck As Boolean
Dim wb As Workbook
Dim specific_wb As String
On Error Resume Next
specific_wb = InputBox("Check if this workbook is open:")
Set wb = Application.Workbooks.Item(specific_wb)
resultCheck = Not wb Is Nothing
If resultCheck Then
MsgBox “Workbook is open”
Else
MsgBox “Workbook is not open”
End If
End Sub
Wenn dieses Makro ausgeführt wird, erscheint ein Eingabefeld, in das ein Benutzer den Namen einer Excel-Arbeitsmappe eingeben kann, und das Makro erzeugt ein Meldungsfeld mit einem der folgenden Ergebnisse:
- „Die Datei ist geöffnet“
- „Die Datei ist nicht geöffnet“
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.
Beispiel: So überprüfen Sie mit VBA, ob eine Arbeitsmappe geöffnet ist
Nehmen wir an, wir haben derzeit zwei Arbeitsmappen mit den folgenden Namen geöffnet:
- my_workbook1.xlsx
- my_workbook2.xlsx
Nehmen wir an, wir möchten überprüfen, ob die Arbeitsmappe namens my_workbook1.xlsx derzeit geöffnet ist.
Dazu können wir das folgende Makro erstellen:
SubCheckWorkbookOpen ()
Dim resultCheck As Boolean
Dim wb As Workbook
Dim specific_wb As String
On Error Resume Next
specific_wb = InputBox("Check if this workbook is open:")
Set wb = Application.Workbooks.Item(specific_wb)
resultCheck = Not wb Is Nothing
If resultCheck Then
MsgBox “Workbook is open”
Else
MsgBox “Workbook is not open”
End If
End Sub
Sobald wir dieses Makro ausführen, erscheint ein Feld, in das ich my_workbook1.xlsx in das Eingabefeld eingeben kann:
Sobald ich auf OK klicke, erzeugt das Makro das folgende Meldungsfeld:
Das Makro zeigt korrekt „Arbeitsmappe ist geöffnet“ an, um anzuzeigen, dass derzeit eine Arbeitsmappe mit diesem Namen geöffnet ist.
Angenommen, ich habe den Namen einer Arbeitsmappe eingegeben, die derzeit nicht geöffnet ist:
Sobald ich auf OK klicke, erzeugt das Makro das folgende Meldungsfeld:
Das Makro zeigt korrekt „Arbeitsmappe ist nicht geöffnet“ an, um anzuzeigen, dass eine Arbeitsmappe mit diesem Namen derzeit nicht geöffnet ist.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in VBA ausführen:
VBA: So zählen Sie die Anzahl der Blätter in einer Arbeitsmappe
VBA: So fügen Sie mehrere Spalten ein
VBA: So fügen Sie mehrere Zeilen ein