Auswahl von Zellen in VBA
- Wählen Sie eine einzelne Zelle in VBA aus
- Wählen Sie in VBA einen Zellbereich aus
- Wählen Sie in VBA einen Bereich nicht zusammenhängender Zellen aus
- Wählen Sie alle Zellen in einem Arbeitsblatt in VBA aus
- Wählen Sie eine Zeile in VBA aus
- Wählen Sie eine Spalte in VBA aus
- Wählen Sie die letzte nicht leere Zelle in einer Spalte in VBA aus
- Wählen Sie in VBA die letzte nicht leere Zelle in einer Zeile aus
- Wählen Sie die aktuelle Region in VBA aus
- Wählen Sie die Zelle relativ zu einer anderen Zelle in VBA aus
- Wählen Sie einen benannten Bereich in VBA aus
- Wählen Sie die Zelle auf einem anderen Arbeitsblatt in VBA aus
-
Manipulieren Sie das
Selection
-Objekt in VBA
In diesem folgenden Artikel besprechen wir die Auswahl von Zellen in VBA und wie wir den Zellbereich in VBA auswählen können.
Mit VBA können wir eine Zelle, Zellbereiche oder alle Zellen im Arbeitsblatt auswählen. Sie können die ausgewählte Zelle oder den Inhalt mit dem Objekt Selection
manipulieren.
Wählen Sie eine einzelne Zelle in VBA aus
Wir können eine Zelle in einem Arbeitsblatt mit der Methode Select
auswählen. Der folgende Code wählt die Zelle B2
im ActiveWorksheet
aus.
# VBA
Range("B2").Select
Oder wir können eine andere Methode verwenden, wie unten gezeigt.
# vba
Cells(2, 2).Select
Die Ausgabe beider Codes ist unten dargestellt.
Wählen Sie in VBA einen Zellbereich aus
Wir können eine Gruppe von Zellen in einem Arbeitsblatt mit der Select
-Technik und dem Range
-Objekt auswählen. Der folgende Code wählt A1:B5
wie unten gezeigt.
# VBA
Range("A1:B5").Select
Ausgabe:
Wählen Sie in VBA einen Bereich nicht zusammenhängender Zellen aus
In VBA können Sie Zellen oder Bereiche auswählen, die nicht nebeneinander liegen, indem Sie die Zellen oder Bereiche durch ein Komma trennen. Mit dem folgenden Code können Sie die Zellen B1
, D1
und F1
auswählen, wie unten gezeigt.
# VBA
Range("B1, D1, F1").Select
Ausgabe:
Wir können auch Sätze von nicht zusammenhängenden Bereichen mit VBA auswählen. Der folgende Code wählt A1:A5
und B5:B8
aus, wie unten gezeigt.
# VBA
Range("A1:A5, B5:B8").Select
Ausgabe:
Wählen Sie alle Zellen in einem Arbeitsblatt in VBA aus
Wir können alle Zellen in einem Arbeitsblatt mit Hilfe von VBA auswählen. Der folgende Code wählt alle Zellen in einem Arbeitsblatt aus.
# VBA
Cells.Select
Ausgabe:
Wählen Sie eine Zeile in VBA aus
Wir können eine bestimmte Zeile in einem Arbeitsblatt mit Hilfe des Objekts Zeile
und der Indexnummer der Zeile, die wir auswählen möchten, auswählen. Der folgende Code wählt die erste Zeile in unserem Arbeitsblatt aus.
# VBA
Rows(2).Select
Ausgabe:
Wählen Sie eine Spalte in VBA aus
Wir können eine bestimmte Spalte in einem Arbeitsblatt mit Hilfe des Objekts Spalte
und der Indexnummer der Spalte auswählen, die wir auswählen möchten. Der folgende Code wählt Spalte B in unserem Arbeitsblatt unten aus.
# VBA
Columns(2).Select
Ausgabe:
Wählen Sie die letzte nicht leere Zelle in einer Spalte in VBA aus
Wir haben Daten in den Zellen B1
, B2
, B3
und B4
, und wir möchten die letzte nicht leere Zelle auswählen, die Zelle B4
in der Spalte sein könnte. Dazu können wir VBA und die Methode Range.End
verwenden.
Die Methode Range.End
kann diese vier Optionen annehmen: xlToLeft
, xlToRight
, xlUp
und xlDown
.
Der folgende Code wählt die letzte nicht leere Zelle aus, in diesem Fall B4
, wenn B1
die aktive Zelle ist, wie unten gezeigt.
# VBA
Range("B1").End(xlDown).Select
Ausgabe:
Wählen Sie in VBA die letzte nicht leere Zelle in einer Zeile aus
Angenommen, wir haben Daten in den Zellen A2
, B2
, C2
, D2
und E2
, und wir möchten die letzte nicht leere Zelle auswählen, die Zelle E2
in der Zeile sein könnte . Wir können VBA und die Methode Range.End
verwenden.
Der folgende Code wählt die letzte nicht leere Zelle aus, in diesem Fall E2
, wenn A2
die aktive Zelle ist, wie unten gezeigt.
# VBA
Range("A2").End(xlToRight).Select
Ausgabe:
Wählen Sie die aktuelle Region in VBA aus
Wir können die Eigenschaft CurrentRegion
des Objekts Range
verwenden, um einen rechteckigen Bereich aus leeren und nicht leeren Zellen um eine bestimmte Eingabezelle herum auszuwählen. Wenn wir Daten in den Zellen A2
, B2
und C2
haben, wählt der folgende Code diese Region um die Zelle A2
aus:
# VBA
Range("A2").CurrentRegion.Select
Ausgabe:
Wählen Sie die Zelle relativ zu einer anderen Zelle in VBA aus
Wir können die Eigenschaft Offset
verwenden, um eine Zelle relativ zu einer anderen Zelle auszuwählen. Der nächste Code zeigt uns, wie wir Zelle C3
, zwei Zeilen und zwei Spalten in der Nähe von Zelle A1
auswählen.
# VBA
Range("A1").Offset(2, 2).Select
Ausgabe:
Wählen Sie einen benannten Bereich in VBA aus
Wir können auch benannte Bereiche auswählen. Nehmen wir an, wir haben Zellen B1:B4
Code genannt.
Wir können den folgenden Code verwenden, um diesen benannten Bereich auszuwählen, wie unten gezeigt.
# VBA
Range("Code").Select
Ausgabe:
Wählen Sie die Zelle auf einem anderen Arbeitsblatt in VBA aus
Zuerst müssen wir das Blatt mit der Methode Worksheets.Activate
aktivieren, um eine Zelle auf einem anderen Arbeitsblatt auszuwählen. Mit dem nächsten Code können Sie die Zelle A4
auf Sheet2
auswählen.
# VBA
Worksheets("Sheet2").Activate
Range("A4").Select
Ausgabe:
Manipulieren Sie das Selection
-Objekt in VBA
Sobald wir eine Zelle oder einen Zellbereich ausgewählt haben, können wir auf das Objekt Selection
verweisen, um diese Zellen zu manipulieren. Der folgende Code wählte die Zellen B1:D1
und setzte die Schriftart dieser Zellen auf Calibri, die Schriftstärke auf Fett, den Schriftstil auf Kursiv und die Füllfarbe auf Blau.
# VBA
Sub newFunc()
Range("B1:D4").Select
Selection.Font.Name = "Calibri"
Selection.Font.Bold = True
Selection.Font.Italic = True
Selection.Interior.Color = vbBlue
End Sub
Ausgabe:
Verwendung von das With
-Konstrukt in VBA
Wir können das obige Beispiel mit der Anweisung With
oder End With
in Beziehung setzen, um nur einmal auf das Objekt Selection
zu verweisen. Dadurch wird die Eingabe fortgesetzt und Ihr Code wird normalerweise leichter lesbar.
# VBA
Sub newFunc()
Range("B1:D4").Select
With Selection
.Font.Name = "Calibri"
.Font.Bold = True
.Font.Italic = False
.Interior.Color = vbBlue
End With
End Sub
Ausgabe: