VBA – ActiveCell Offset

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Zakarya El Oirzadi

Last updated on August 23, 2022

In diesem Tutorial zeigen Wir Ihnen, wie Sie Activecell.Offset in VBA verwenden können.

ActiveCell ist eine VBA-Eigenschaft, die die Adresse der aktuellen Zelle in Ihrem Arbeitsblatt darstellt. Wenn sich der Cursor in der Zelle A1 befindet, gibt die ActiveCell-Eigenschaft in VBA die Zellenadresse „A1“ zurück. Es gibt eine Reihe von Eigenschaften und Methoden, die mit ActiveCell verbunden sind. In diesem Artikel konzentrieren wir uns auf die Methode ActiveCell.Offset.

ActiveCell.Offset – Eigenschaften und Methoden

ActiveCell.Offset verfügt über eine Reihe von Eigenschaften und Methoden, die mit VBA programmiert werden können. Um die verfügbaren Eigenschaften und Methoden anzuzeigen, geben Sie die folgende Anweisung in eine Prozedur ein (siehe unten) und drücken Sie die Punkttaste auf der Tastatur, um eine Dropdown-Liste anzuzeigen.

vba activecell.offset methoden

Methoden werden durch das grüne Methodensymbol und Eigenschaften durch das kleine Handsymbol dargestellt. Die Eigenschaften und Methoden für die Methode ActiveCell.Offset sind dieselben wie für die ActiveCell-Methode.

ActiveCell.Offset – Syntax

Die Syntax von ActiveCell.Offset lautet wie folgt:

vba activecell.offset argumente

wobei RowOffset und ColumnOffset die Anzahl Versatzeilen (positive Zahlen für nach unten, negative Zahlen für nach oben) und die Anzahl der Versatzspalten (positive Zahlen für nach rechts, negative Zahlen für nach links) sind.

ActiveCell.Offset..Select

Die Methode Activecell.Offset..Select ist die am häufigsten verwendete Methode bei Activecell.Offset. Mit ihr können Sie zu einer anderen Zelle in Ihrem Arbeitsblatt wechseln. Sie können diese Methode verwenden, um in Ihrem Arbeitsblatt spalten- oder zeilenweise zu arbeiten.

Um eine Zeile nach unten zu verschieben, aber in der gleichen Spalte zu bleiben:

ActiveCell.Offset(1,0).Select

Um sich um eine Spalte zu bewegen, aber in der gleichen Zeile zu bleiben:

ActiveCell.Offset(0,1).Select

Um eine Zeile nach unten und eine Spalte nach rechts zu springen:

ActiveCell.Offset(1,1).Select

Um eine Zeile nach oben zu springen:

ActiveCell.Offset(-1,0).Select

Um eine Spalte nach links zu springen:

ActiveCell.Offset(0,-1).Select

In der folgenden Prozedur durchlaufen wir einen Zellenbereich und bewegen uns in der Schleife eine Zeile nach unten und eine Spalte nach rechts:

Sub ActiveCellTesten()
  Dim x As Integer
  Range("A1").Select
  For x = 1 To 10
   ActiveCell = x
   ActiveCell.Offset(1, 1).Select
  Next x
End Sub

Das Ergebnis ist in der folgenden Grafik dargestellt:

vba activecell.offset schleife ergebnis

Die Schleife fügt den Wert von i (1-10) in die ActiveCell ein und verwendet dann die Eigenschaft Activecell.Offset, um sich eine Zeile nach unten und eine Spalte nach rechts zu bewegen. Diese Schleife wird 10 Mal wiederholt.

Verwendung des Range-Objekts mit Activecell.Offset..Select

Die Verwendung des Range-Objekts mit der ActiveCell kann manche Leute verwirren.

Betrachten Sie die folgende Vorgehensweise:

Sub AktuelleZelleVerschieben_Bereich()
  Range("B1: B10").Select
  ActiveCell.Offset(1, 1).Range("A1").Select
End Sub

Mit ActiveCell.Offset(1,1).Range(„A1“) wurde der Range(„A1“) angegeben. Das bedeutet jedoch nicht, dass die Zelle A1 auf dem Blatt ausgewählt wird. Da wir den Range(„B1:B10“) angegeben haben, ist Zelle A1 in diesem Bereich eigentlich Zelle B1 in der Arbeitsmappe. Daher wird die Zelle um 1 Zeile und 1 Spalte von Zelle B1 und nicht von Zelle A1 verschoben .

vba activecell.offset range objekt

Daher ist der Range(„A1“) in diesem Fall nicht erforderlich, da das Makro mit oder ohne ihn auf die gleiche Weise funktioniert.

Alternativen zu ActiveCell

Anstatt ActiveCell mit der Offset-Methode zu verwenden, können wir auch das Range-Objekt mit der Offset-Methode verwenden.

Sub BereichVerschieben() 
 Range("B1").Offset(0, 1).Select
End Sub

Das obige Verfahren würde die Zelle C1 im Arbeitsblatt auswählen.

vba-free-addin

Add-In für VBA-Code-Beispiele

Auf alle Code-Beispiele aus unserer Website einfach zugreifen.

Navigieren Sie einfach zum Menü, klicken Sie darauf und der Code wird direkt in Ihr Modul eingefügt. .xlam add-in.

(Keine Installation erforderlich!)

Kostenloser Download

Return to VBA Code Examples