Wie kann ich über vba prüfen, ob eine arbeitsmappe geöffnet ist?
Um mithilfe von VBA-Code zu überprüfen, ob eine Arbeitsmappe geöffnet ist, müssen Sie die FOR EACH- Schleife verwenden, die alle derzeit geöffneten Arbeitsmappen durchlaufen und den Namen jeder Arbeitsmappe mit dem von Ihnen genannten Namen vergleichen kann. Sie können ein Meldungsfeld verwenden, um das Ergebnis der Schleife abzurufen. Oder Sie können den Code auch ausführen, um das Ergebnis in eine Zelle einzugeben.
Überprüfen Sie, ob eine Arbeitsmappe geöffnet ist
- Zuerst müssen Sie die Variablen deklarieren, die im Code verwendet werden sollen, um eine Schleife zu erstellen.
- Verwenden Sie ein Eingabefeld, um den Namen der Arbeitsmappe abzurufen, nach der Sie suchen möchten.
- Starten Sie die Schleife, um alle geöffneten Arbeitsmappen durchzugehen.
- Schreiben Sie Code mit der IF-Anweisung , um den Arbeitsmappennamen mit dem Namen zu vergleichen, den Sie in das Eingabefeld eingegeben haben. Sobald der Name übereinstimmt, wird die Arbeitsmappe aktiviert, ein Meldungsfeld angezeigt, das besagt, dass die Arbeitsmappe gefunden wurde, und der Vorgang wird beendet.
- Schließen Sie am Ende die Schleife ab und verwenden Sie ein Meldungsfeld, um ein Meldungsfeld anzuzeigen, wenn nichts gefunden wurde.
Nützliche Links: Ausführen eines Makros – Makrorecorder – Visual Basic Editor – Handbuch zu persönlichen Makros
Hier ist der vollständige Code.
Sub vba_check_workbook() Dim WB As Workbook Dim myWB As String myWB = InputBox(Prompt:="Enter the workbook name.") For Each WB In Workbooks If WB.Name = myWB Then WB.Activate MsgBox "Workbook Found!" Exit Sub End If Next WB MsgBox "Not Found" End Sub