Aktivieren eines Blattes mit VBA in Excel

Wenn Sie die Methode Activate auf ein Worksheet Objekt anwenden, wird es zum aktiven Blatt, das Blatt, das oben liegt.

Blatt auswählen

Um ein Blatt aktivieren zu können, müssen Sie es zunächst auswählen. Die Aktivierung eines Objekts ist einfach: Rufen Sie die Methode Activate für das Objekt auf. Sie müssen das Objekt angeben, das aktiviert werden soll, und haben dabei eine Reihe von Optionen, die hier erläutert werden.

Blatt nach Nummer aktivieren

Die Prozedur wird folgendermaßen aufgerufen:


ActiveWorkbook.Sheets(Index:=1).Activate

Mit dem obigen Code wird das erste Blatt in der angegebenen Arbeitsmappe aktiviert.

Das Objekt Worksheet wird hier aus der Prozedur Workbook Sheets bezogen.

Der Aufruf dieser Methode ist gleichbedeutend mit der Auswahl der Registerkarte des Blattes.

Blatt nach Name aktivieren

Blatt mit Variablennamen aktivieren

Die gängigste Art, sich auf ein Blatt zu beziehen, ist sein Name, wie er auf der Registerkarte Blätter angezeigt wird:


ActiveWorkbook.Sheets(Index:="data2-17-14").Activate

Wenn Ihr Makro von anderen verwendet wird, sollten Sie eine angemessene Fehlerbehandlung einbauen, etwa so:


Dim ws As Worksheet
On Error Resume Next
Set ws = ActiveWorkbook.Sheets(Index:="data2-17-14")
On Error GoTo 0
If Not ws Is Nothing Then
    ws.Activate
Else
    
End If

Blatt nach Codename aktivieren

Sie können auch direkt auf ein Blatt verweisen, indem Sie die Eigenschaft CodeName verwenden. Dies hat den Vorteil, dass Sie sicher sein können, dass das Blatt mit dem Namen existiert. Dies ist jedoch nur möglich, wenn sich das Makro in der gleichen Arbeitsmappe wie das Blatt befindet, was häufig nicht der Fall ist.


Sheet1.Activate

Blatt basierend auf einem Zellwert aktivieren

Eine Anwendung, bei der ein Blatt auf der Grundlage eines Zellwerts aktiviert werden soll, besteht darin, dass Sie so viele Registerkarten haben, dass es schwierig wird, darin zu navigieren. Eine mögliche Lösung wäre ein Navigationsarbeitsblatt, das die Zielblätter auflistet und das Blatt zu öffnen, das der ausgewählten Zelle entspricht.


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim strWorksheet As String: strWorksheet = Target.Value
	On Error Resume Next
    Worksheets(Index:=strWorksheet).Activate
End Sub

Blatt und Zelle auswählen

Eine Zelle kann nur ausgewählt werden, wenn das Blatt, auf dem sie sich befindet, das aktive Blatt ist. Im Allgemeinen gehen Sie daher der Auswahl voraus, indem Sie das Blatt Parent aktivieren. Anstelle von Application.Range("Sheet2!B2").Select werden Sie zum Beispiel sicherer sein:


With Application.Range("Sheet2!B2")
    .Parent.Activate
    .Select
End With

Blatt in einer anderen Arbeitsmappe aktivieren

Um ein Blatt zu aktivieren, muss die Arbeitsmappe selbst nicht die aktive Arbeitsmappe sein. Sie müssen nur die Arbeitsmappe und das Arbeitsblatt identifizieren, das Sie aktivieren möchten, und dies dann tun:


Dim wb As Workbook
Set wb = Workbooks(Index:="data123.xlsx")
Dim ws As Worksheet
Set ws = wb.Sheets(Index:="Countries")
ws.Activate

Blatt ohne Anzeige aktivieren

Sie brauchen ein Arbeitsblatt (oder eine Arbeitsmappe!) nicht aktiv zu machen, um damit arbeiten zu können. Sie können eine Variable worksheet deklarieren und sie mit einer Set -Anweisung instanziieren, wie es im obigen Abschnitt gemacht wurde. Die Verwendung von Variablen auf diese Weise ist schneller und sicherer, als sich darauf zu verlassen, dass das Blatt aktiv ist.


Autor: Mark Uildriks
Referenz: Worksheet.Activate() | Microsoft Learn
Symbol

Versuchen Sie es mit dem Code-VBA-Editor-Add-In