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.

Arbeitsmappen-Aktivierung

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

Typ Bindemittel
  1. Geben Sie „Binder“ ein, um das Binderobjekt zu verwenden.
  2. Geben Sie den Namen der Arbeitsmappe in doppelten Anführungszeichen an.
  3. Geben Sie einen Punkt (.) ein, um eine Liste der Eigenschaften und Methoden zu erhalten.
  4. Wählen Sie die Aktivierungsmethode aus der Liste aus oder geben Sie sie auch ein.
  5. 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.

VBA-zeigt-einen-Fehler an

Verwandte Themen: Aktivieren Sie eine Tabellenkalkulation mit VBA

Nützliche Links: Ausführen eines MakrosMakrorecorderVisual Basic EditorHandbuch 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
Aktivieren Sie einen Ordner mithilfe einer Nummer

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.

vba-will-show-run-time-error-9

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.

Einen Kommentar hinzufügen

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