VBA Bereiche/Zellen auswählen
In this Article
- Auswählen einer einzelnen Zelle mit VBA
- Wählen Sie einen Bereich von Zellen mit VBA
- Auswählen eines Bereichs von nicht zusammenhängenden Zellen mit VBA
- Auswählen aller Zellen in einem Arbeitsblatt
- Auswählen einer Zeile
- Eine Spalte auswählen
- Auswählen der letzten nicht leeren Zelle in einer Spalte
- Auswählen der letzten nicht leeren Zelle in einer Zeile
- Auswählen des aktuellen Bereichs in VBA
- Auswählen einer Zelle, die sich auf eine andere Zelle bezieht
- Einen benannten Bereich in Excel auswählen
- Auswählen einer Zelle auf einem anderen Arbeitsblatt
- Bearbeiten des Auswahlobjekts in VBA
- Verwendung des Konstrukts With…End With
Mit VBA können Sie eine Zelle, Zellenbereiche oder alle Zellen im Arbeitsblatt auswählen. Sie können die ausgewählte Zelle oder den ausgewählten Bereich mit dem Selection Object bearbeiten.
Auswählen einer einzelnen Zelle mit VBA
Sie können eine Zelle in einem Arbeitsblatt mit der Select-Methode auswählen. Mit dem folgenden Code wird die Zelle A2 im ActiveWorksheet ausgewählt:
Range("A2").Select
Oder
Cells(2, 1).Select
Das Ergebnis ist:
Wählen Sie einen Bereich von Zellen mit VBA
Sie können eine Gruppe von Zellen in einem Arbeitsblatt mit der Select-Methode und dem Range-Objekt auswählen. Mit dem folgenden Code wird A1:C5 ausgewählt:
Range("A1:C5").Select
Auswählen eines Bereichs von nicht zusammenhängenden Zellen mit VBA
Sie können Zellen oder Bereiche auswählen, die nicht nebeneinander liegen, indem Sie die Zellen oder Bereiche in VBA durch ein Komma voneinander trennen. Mit dem folgenden Code können Sie die Zellen A1, C1 und E1 auswählen:
Range("A1, C1, E1").Select
Sie können in VBA auch Gruppen von nicht zusammenhängenden Bereichen auswählen. Mit dem folgenden Code werden A1:A9 und B11:B18 ausgewählt:
Range("A1:A9, B11:B18").Select
Auswählen aller Zellen in einem Arbeitsblatt
Sie können alle Zellen in einem Arbeitsblatt mit VBA auswählen. Mit dem folgenden Code werden alle Zellen in einem Arbeitsblatt ausgewählt.
Cells.Select
Auswählen einer Zeile
Sie können eine bestimmte Zeile in einem Arbeitsblatt auswählen, indem Sie das Row-Objekt und die Indexnummer der Zeile verwenden, die Sie auswählen möchten. Der folgende Code wählt die erste Zeile in Ihrem Arbeitsblatt aus:
Rows(1).Select
Eine Spalte auswählen
Sie können eine bestimmte Spalte in einem Arbeitsblatt auswählen, indem Sie das Column-Objekt und die Indexnummer der Spalte, die Sie auswählen möchten, verwenden. Mit dem folgenden Code wird die Spalte C in Ihrem Arbeitsblatt ausgewählt:
Columns(3).Select
Auswählen der letzten nicht leeren Zelle in einer Spalte
Angenommen, Sie haben Daten in den Zellen A1, A2, A3 und A4 und möchten die letzte nicht leere Zelle, d. h. die Zelle A4 in der Spalte, auswählen. Dazu können Sie VBA und die Methode Range.End verwenden. Die Methode Range.End kann vier Argumente annehmen, nämlich: xlToLeft, xlToRight, xlUp und xlDown. Der folgende Code wählt die letzte nicht leere Zelle aus, die in diesem Fall A4 wäre, wenn A1 die aktive Zelle ist:
Range("A1").End(xlDown).Select
Auswählen der letzten nicht leeren Zelle in einer Zeile
Nehmen wir an, Sie haben Daten in den Zellen A1, B1, C1, D1 und E1 und möchten die letzte nicht leere Zelle, d. h. die Zelle E1 in der Zeile, auswählen. Dazu können Sie VBA und die Methode Range.End verwenden. Der folgende Code wählt die letzte nicht leere Zelle aus, die in diesem Fall E1 wäre, wenn A1 die aktive Zelle ist:
Range("A1").End(xlToRight).Select
Auswählen des aktuellen Bereichs in VBA
Sie können die CurrentRegion-Eigenschaft des Range-Objekts verwenden, um einen rechteckigen Bereich von leeren und nicht leeren Zellen um eine bestimmte Eingabezelle herum auszuwählen. Wenn Sie Daten in den Zellen A1, B1 und C1 haben, würde der folgende Code diesen Bereich um die Zelle A1 auswählen:
Range("A1").CurrentRegion.Select
Damit würde der Bereich A1:C1 ausgewählt werden.
Auswählen einer Zelle, die sich auf eine andere Zelle bezieht
Sie können die Taste Offset-Eigenschaft verwenden, um eine Zelle auszuwählen, die sich auf eine andere Zelle bezieht. Der folgende Code zeigt Ihnen, wie Sie die Zelle B2 auswählen, die 1 Zeile und 1 Spalte relativ zu Zelle A1 liegt:
Range("A1").Offset(1, 1).Select
Einen benannten Bereich in Excel auswählen
Sie können auch Benannte Bereiche auch auswählen. Nehmen wir an, Sie haben die Zellen A1:A4 Obst genannt. Sie können den folgenden Code verwenden, um diesen benannten Bereich auszuwählen:
Range("Obst").Select
Auswählen einer Zelle auf einem anderen Arbeitsblatt
Um eine Zelle auf einem anderen Arbeitsblatt auszuwählen, müssen Sie das Blatt zunächst mit der Methode Worksheets.Activate aktivieren. Mit dem folgenden Code können Sie die Zelle A7 auf dem Blatt mit dem Namen Sheet5 auswählen:
Worksheets("Sheet5").Activate
Range("A1").Select
Bearbeiten des Auswahlobjekts in VBA
Sobald Sie eine Zelle oder einen Bereich von Zellen ausgewählt haben, können Sie auf das Auswahlobjekt zugreifen, um diese Zellen zu bearbeiten. Der folgende Code wählt die Zellen A1:C1 aus und setzt die Schriftart dieser Zellen auf Arial, die Schriftstärke auf fett, den Schriftstil auf kursiv und die Füllfarbe auf grün.
Sub FormatAuswahl()
Range("A1:C1").Select
Selection.Font.Name = "Arial"
Selection.Font.Bold = True
Selection.Font.Italic = True
Selection.Interior.Color = vbGreen
End Sub
Das Ergebnis ist:
Verwendung des Konstrukts With…End With
Wir können das obige Beispiel wiederholen, indem wir die With/End With-Anweisung verwenden, um uns nur einmal auf das Auswahlobjekt zu beziehen. Das spart Tipparbeit und macht den Code in der Regel übersichtlicher.
Sub VerwendungWithEndWithAuswahl()
Range("A1:C1").Select
With Selection
.Font.Name = "Arial"
.Font.Bold = True
.Font.Italic = True
.Interior.Color = vbGreen
End With
End Sub