Wie verwende ich offset mit dem bereichsobjekt in vba?
Wenn Sie OFFSET mit dem Bereichsobjekt verwenden, können Sie im Arbeitsblatt von Zelle zu Zelle navigieren und auch eine Zelle oder einen Bereich auswählen. Sie erhalten damit auch Zugriff auf die Eigenschaften und Methoden, die Sie mit dem zu verwendenden Bereichsobjekt haben, Sie müssen jedoch die Argumente im OFFSET angeben, um es verwenden zu können.
Verwenden von OFFSET mit dem Range-Objekt
- Geben Sie den Bereich an, in dem Sie beginnen möchten.
- Geben Sie einen Punkt (.) ein, um eine Liste der Eigenschaften und Methoden zu erhalten.
- Wählen Sie die Offset-Eigenschaft aus und geben Sie die Argumente (Zeile und Spalte) an.
- Wählen Sie am Ende die Eigenschaft aus, die mit dem Offset verwendet werden soll.
Wählen Sie mit OFFSET einen Bereich aus
Sie können auch einen Bereich auswählen, der der Anzahl der Zeilen und Spalten entspricht, die von einem Bereich entfernt sind. Nehmen Sie die Codezeile unten, die einen zweizelligen Bereich auswählt, der aus fünf Zeilen unten und drei Spalten rechts besteht.
Range("A1:A2").Offset(3, 2).Select
Darüber hinaus können Sie auch Code schreiben, um den Bereich mithilfe einer benutzerdefinierten Größe auszuwählen. Betrachten Sie ein Beispiel für den folgenden Code.
Range(Range("A1").Offset(1, 1), Range("A1").Offset(5, 2)).Select
Um diesen Code zu verstehen, müssen Sie ihn in drei Teile unterteilen.
Zunächst haben Sie in diesem Bereichsobjekt die Möglichkeit, die erste und letzte Zelle des Bereichs anzugeben.
Kehren wir nun zum Beispiel zurück:
- Im ersten Teil haben Sie das Bereichsobjekt verwendet, um auf die Zelle eine Zeile tiefer und eine Spalte rechts von Zelle A1 zu verweisen.
- In Teil ZWEI haben Sie das Bereichsobjekt verwendet, um auf die Zelle fünf Zeilen weiter unten und zwei Spalten rechts von Zelle A1 zu verweisen.
- Im THRID-Teil haben Sie die Zellen im ersten und zweiten Teil verwendet, um einen Bereich zu referenzieren und auszuwählen.
Verwenden von OFFSET mit ActiveCell
Sie können anstelle eines vordefinierten Bereichs auch die aktive Zelle verwenden. Dies bedeutet, dass Sie einen dynamischen Offset erhalten, um eine Zelle auszuwählen, die von der aktiven Zelle aus navigiert.
ActiveCell.Offset(5, 2).Select
Die obige Codezeile wählt die Zelle aus, die fünf Zeilen weiter unten und zwei Spalten rechts von der aktiven Zelle liegt.
Verwenden Sie OFFSET mit ActiveCell, um einen Bereich auszuwählen
Verwenden Sie den folgenden Code, um einen Bereich in der aktiven Zelle auszuwählen.
Range(ActiveCell.Offset(1, 1), ActiveCell.Offset(5, 2)).Select
Um zu verstehen, wie dieser Code funktioniert, lesen Sie unbedingt diese Erklärung.
Kopieren Sie einen Bereich mit OFFSET
Range(Range("A1").Offset(1, 1), Range("A1").Offset(5, 2)).Copy Range(ActiveCell.Offset(1, 1), ActiveCell.Offset(5, 2)).Copy
Verwenden der Cells-Eigenschaft mit OFFSET
Sie können die OFFSET-Eigenschaft auch mit der CELLS-Eigenschaft verwenden. Betrachten Sie den folgenden Code.
Cells(1, 3).Offset(2, 3).Select
Der obige Code referenziert zunächst Zelle A1 (wie von Ihnen angegeben) mit der ersten Zeile und der ersten Spalte unter Verwendung der Eigenschaft „Zellen“ und verwendet dann die Eigenschaft „Offset“, um die Zelle auszuwählen, die zwei Zeilen weiter unten liegt und drei Spalten hat.