VBA OFFSET

Excel VBA OFFSET-Funktion

Die VBA-Versatzfunktion wird verwendet, um eine Referenz zu verschieben oder auf eine Referenz zu verweisen, die eine bestimmte Anzahl von Zeilen und Spalten überspringt. Die Argumente für diese Funktion in VBA sind dieselben wie für die Argumente im Arbeitsblatt.

Angenommen, Sie haben einen Datensatz wie den folgenden.

Von Zelle A1 aus möchten Sie nun 4 Zellen nach unten verschieben und diese 5. Zelle auswählen, dh A5-Zelle.

Wenn Sie von A1-Zelle 2 Zeilen nach unten gehen und 2 Spalten nach rechts gehen und diese Zelle auswählen möchten, dh C2-Zelle.

In diesen Fällen ist die OFFSET-Funktion sehr hilfreich. Besonders in VBA ist die OFFSET-Funktion einfach phänomenal.

OFFSET wird mit Range Object in Excel VBA verwendet

In VBA können wir das Wort OFFSET nicht direkt eingeben. Wir müssen zuerst das VBA RANGE-Objekt verwenden und von diesem Bereichsobjekt aus können wir die OFFSET-Eigenschaft verwenden.

Im Excel-Bereich ist nichts als eine Zelle oder ein Bereich der Zelle. Da OFFSET auf Zellen verweist, müssen wir zuerst das Objekt RANGE verwenden und dann die OFFSET-Methode verwenden.

Syntax von OFFSET in VBA Excel

  • Zeilenversatz: Wie viele Zeilen möchten Sie von der ausgewählten Zelle versetzen? Hier ist die ausgewählte Zelle A1, dh Bereich ("A1").
  • Spaltenversatz: Wie viele Spalten möchten Sie von der ausgewählten Zelle versetzen? Hier ist die ausgewählte Zelle A1, dh Bereich ("A1").

Beispiele

Sie können diese VBA OFFSET-Vorlage hier herunterladen - VBA OFFSET-Vorlage

Beispiel 1

Betrachten Sie die folgenden Daten zum Beispiel als Demonstration.

Jetzt möchte ich die Zelle A6 aus der Zelle A1 auswählen. Starten Sie das Makro und die Referenzzelle mit dem Range-Objekt.

Code:

 Sub Offset_Example1 () Bereich ("A1"). Offset (End Sub 

Jetzt möchte ich die Zelle A6 auswählen, dh ich möchte 5 Zellen herunterfahren. Geben Sie also 5 als Parameter für den Zeilenversatz ein.

Code:

 Sub Offset_Example1 () Bereich ("A1"). Offset (5 End Sub 

Da ich in derselben Spalte auswähle, lasse ich den Spaltenteil weg. Schließen Sie die Klammer, setzen Sie einen Punkt (.) Und geben Sie die Methode „Auswählen“ ein.

Code:

 Sub Offset_Example1 () Bereich ("A1"). Offset (5). End Sub auswählen 

Führen Sie diesen Code nun mit der Taste F5 aus, oder Sie können ihn manuell ausführen, um die Zelle A6 wie unten gezeigt auszuwählen.

Ausgabe:

Beispiel 2

Nehmen Sie nun die gleichen Daten, aber hier erfahren Sie, wie Sie auch das Spaltenversatzargument verwenden. Jetzt möchte ich die Zelle C5 auswählen.

Da ich zuerst die Zelle C5 auswählen möchte, möchte ich 4 Zellen nach unten bewegen und die rechten 2 Spalten nehmen, um die Zelle C5 zu erreichen. Der folgende Code würde den Job für mich erledigen.

Code:

 Sub Offset_Example2 () Range ("A1"). Offset (4, 2). Wählen Sie End Sub 

Ich führe diesen Code manuell aus oder benutze dann die Taste F5, um die Zelle C5 auszuwählen, wie im folgenden Screenshot gezeigt.

Ausgabe:

Beispiel 3

Wir haben gesehen, wie Zeilen und Spalten versetzt werden. Wir können auch die obigen Zellen aus den angegebenen Zellen auswählen. Wenn Sie sich beispielsweise in der Zelle A10 befinden und die A1-Zelle auswählen möchten, wie wählen Sie sie aus?

Wenn wir uns in der Zelle nach unten bewegen, können wir eine positive Zahl eingeben. Wenn wir uns also nach oben bewegen, müssen wir negative Zahlen eingeben.

Von der A9-Zelle müssen wir uns um 8 Zeilen nach oben bewegen, dh um -8.

Code:

 Sub Offset_Example1 () Range ("A9"). Offset (-8). End Sub auswählen 

Wenn Sie diesen Code mit der Taste F5 ausführen oder diesen Code manuell ausführen können, wird die Zelle A1 aus der Zelle A9 ausgewählt.

Ausgabe:

Beispiel 4

Angenommen, Sie befinden sich in der Zelle C8. Aus dieser Zelle möchten Sie die Zelle A10 auswählen.

Von der aktiven Zelle, dh der C8-Zelle, müssen wir zuerst 2 Zeilen nach unten und um 2 Spalten nach links gehen, um die Zelle A10 auszuwählen.

Wenn Sie sich nach links bewegen, um die Spalte auszuwählen, müssen Sie angeben, dass die Zahl negativ ist. Hier müssen wir also um -2 Spalten zurückkommen.

Code:

 Sub Offset_Example2 () Range ("C8"). Offset (2, -2). End Sub auswählen 

Führen Sie diesen Code nun mit der Taste F5 aus oder führen Sie ihn manuell aus. Dabei wird die A10-Zelle wie unten gezeigt ausgewählt:

Ausgabe:

Dinge, an die man sich erinnern sollte

  • Wenn Sie Zeilen nach oben verschieben, müssen Sie die Anzahl in Negativen angeben.
  • Wenn Sie sich zur Auswahl der Spalte nach links bewegen, sollte die Zahl negativ sein.
  • Die A1-Zelle ist die erste Zeile und die erste Spalte.
  • Aktive Zelle bedeutet aktuell ausgewählte Zellen.
  • Wenn Sie die Zelle mit OFFSET auswählen möchten, müssen Sie ".Select" erwähnen .
  • Wenn Sie die Zelle mit OFFSET kopieren möchten, müssen Sie ".Copy" erwähnen .