Activecell-Offset-VBA

Dieses Tutorial zeigt, wie Sie Activecell Offset in VBA verwenden.

Die ActiveCell ist eine Eigenschaft von VBA, die die Zelladresse der aktiven Zelle in Ihrem Arbeitsblatt darstellt. Wenn sich Ihr Mauszeiger in Zelle A1 befindet, gibt die ActiveCell-Eigenschaft in VBA die Zelladresse "A1" zurück. Es gibt eine Reihe von Eigenschaften und Methoden, die mit der 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 einem Verfahren wie unten gezeigt ein und drücken Sie die Punkttaste auf der Tastatur, um eine Dropdown-Liste anzuzeigen.

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

ActiveCell.Offset-Syntax

Die Syntax von Activecell.Offset ist wie folgt

wobei RowOffset und ColumnOffset die Anzahl der Zeilen ist, die versetzt werden sollen (positive Zahlen für unten, negative Zahlen für oben) oder die Anzahl der Spalten, die versetzt werden sollen (positive Zahlen Offsets nach rechts, negative Zahlen nach links).

ActiveCell.Offset… Auswählen

Die Aktive Zelle.Offset… Auswählen -Methode ist die am häufigsten verwendete Methode für die Activecell.Offset-Methode. Es ermöglicht Ihnen, in eine andere Zelle in Ihrem Arbeitsblatt zu wechseln. Sie können diese Methode verwenden, um in Ihrem Arbeitsblatt zwischen Spalten oder Zeilen nach oben oder unten zu wechseln.

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

1 Activecell.Offset(1,0).Select

Um sich über eine Spalte zu bewegen, aber in derselben Zeile zu bleiben:

1 Activecell.Offset (0,1).Select

So gehen Sie in einer Zeile nach unten und über eine Spalte hinweg:

1 Activecell.Offset (1,1).Select

Um eine Zeile nach oben zu verschieben:

1 Activecell.Offset(-1,0).Select

So verschieben Sie eine Spalte nach links:

1 Activecell.Offset(0,-1).Wählen

Im folgenden Verfahren durchlaufen wir eine Reihe von Zellen und bewegen uns während der Schleife eine Zeile nach unten und über eine Spalte:

12345678 Unter ActiveCellTest()Dim x As IntegerBereich("A1").WählenFür x = 1 bis 10Aktive Zelle = xActiveCell.Offset(1, 1).SelectNächstes xEnd Sub

Das Ergebnis ist in der folgenden Grafik dargestellt:

Die Schleife setzt den Wert von i (1-10) in die Aktive Zelle, und dann verwendet es die Activecell.Offset -Eigenschaft, um eine Zeile nach unten und eine Spalte nach rechts zu verschieben - diese Schleife 10-mal wiederholen.

VBA-Programmierung | Code Generator arbeitet für Sie!

Verwenden des Range-Objekts mit Activecell.Offset Select

Die Verwendung des Range-Objekts mit der aktiven Zelle kann manche Leute manchmal verwirren.

Betrachten Sie das folgende Verfahren:

1234 Sub ActiveCellOffsetRange()Bereich("B1: B10").WählenActiveCell.Offset(1, 1).Range("A1").SelectEnd Sub

Mit ActiveCell.Offset(1,1.Range(“A1“) wurde der Bereich(“A1“) angegeben. Dies bedeutet jedoch nicht, dass Zelle A1 im Blatt ausgewählt wird. Wie wir den Bereich angegeben haben ("B1:B10"), Zelle A1 in diesem Bereich ist eigentlich Zelle B1 in der Arbeitsmappe. Daher wird die Zelle um 1 Zeile und 1 Spalte versetzt Zelle B1 NICHT von Zelle A1.

Daher ist der Bereich ("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.

123 UnterbereichOffset()Range("B1").Offset(0, 1).SelectEnd Sub

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

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave