Wie aktiviere ich eine excel-arbeitsmappe über vba?
Wenn Sie mit mehreren Arbeitsmappen gleichzeitig arbeiten, also mehrere Arbeitsmappen gleichzeitig geöffnet haben, müssen Sie die Methode kennen, mit der Sie eine Arbeitsmappe aktivieren können, an der Sie arbeiten möchten.
Um eine Arbeitsmappe mit VBA zu aktivieren, müssen Sie die Methode Workbook.Activate verwenden. Bei dieser Methode müssen Sie den Namen der Arbeitsmappe mithilfe des Workbook-Objekts angeben. Es ermöglicht Ihnen auch, die Arbeitsmappennummer anstelle des Arbeitsmappennamens zu verwenden, Sie können jedoch nur auf geöffnete Arbeitsmappen verweisen.
In diesem Tutorial betrachten wir verschiedene Möglichkeiten, diese Methode zu verwenden.
Schritte zum Aktivieren einer Arbeitsmappe
- Geben Sie „Binder“ ein, um das Binderobjekt zu verwenden.
- Geben Sie den Namen der Arbeitsmappe in doppelten Anführungszeichen an.
- Geben Sie einen Punkt (.) ein, um eine Liste der Eigenschaften und Methoden zu erhalten.
- Wählen Sie die Aktivierungsmethode aus der Liste aus oder geben Sie sie auch ein.
- Führen Sie am Ende den Code aus, um die Arbeitsmappe zu aktivieren.
Sub vba_activate_workbook() Workbooks("Book3").Activate End Sub
Hinweis: Wenn Sie versuchen, eine Arbeitsmappe zu aktivieren, die nicht geöffnet ist, zeigt VBA einen Fehler an.
Verwandte Themen: Aktivieren Sie eine Tabellenkalkulation mit VBA
Nützliche Links: Ausführen eines Makros – Makrorecorder – Visual Basic Editor – Handbuch zu persönlichen Makros
Aktivieren Sie eine Arbeitsmappe mithilfe der Nummer
Wenn Sie mehrere Arbeitsmappen geöffnet haben, werden alle diese Arbeitsmappen Teil der Arbeitsmappensammlung und verfügen über eine Nummer, auf die Sie verweisen können. Anschließend können Sie die Aktivierungsmethode damit verwenden. Hier ist der Code:
Sub vba_activate_workbook() Workbooks(2).Activate End Sub
Und wenn Sie versuchen, eine Arbeitsmappe mit einer Nummer zu aktivieren, die nicht existiert, zeigt VBA den Laufzeitfehler „9“ (Index außerhalb des Bereichs) an.
Aktivieren Sie diese Arbeitsmappe
Mit der ThisWorkbook-Eigenschaft können Sie auf die Arbeitsmappe verweisen, in die Sie Code schreiben. Angenommen, Sie haben fünf Arbeitsmappen gleichzeitig geöffnet, arbeiten aber an „Book1.xlsm“. Wenn Sie also den folgenden Code ausführen, wird „Book1.xlsm“ aktiviert.
Sub vba_activate_workbook() ThisWorkbook.Activate End Sub
Überprüfen Sie dies, bevor Sie eine Arbeitsmappe aktivieren
Wie gesagt, wenn Sie versuchen, eine Arbeitsmappe zu aktivieren, die nicht geöffnet ist, zeigt Ihnen VBA einen Fehler an. Um dieses Problem zu lösen, ist es am besten, zunächst den Namen der Arbeitsmappe zu überprüfen (ob sie geöffnet ist oder nicht) und sie dann zu aktivieren.
Sub vba_activate_workbook() Dim wb As Workbook For Each wb In Workbooks If wb.Name = "Book3.xlsx" Then wb.Activate MsgBox "Workbook found and activated" Exit Sub End If Next wb MsgBox "Not found" End Sub
Mit dem obigen Code können Sie einen Arbeitsmappennamen angeben. Dadurch wird zunächst in allen geöffneten Arbeitsmappen nach dieser Arbeitsmappe gesucht. Wenn die Arbeitsmappe gefunden wird, wird sie aktiviert.
Kommentare
- Achten Sie bei der Verwendung des Arbeitsmappennamens darauf, dass Sie die richtige Dateierweiterung verwenden
- Wenn Sie eine Arbeitsmappe aktivieren möchten, die noch nicht gespeichert ist, dürfen Sie nur den Namen dieser Arbeitsmappe ohne Suffix der Dateierweiterung verwenden.