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

Einen Kommentar hinzufügen

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