Tipps & Tricks 06.11.2005, 10:45 Uhr

Aktive Zelle per Makro verschieben

Ich möchte Excel dazu bewegen, dass es nach Ausführung eines Makros, von der zuletzt aktiven Zelle um eine Zelle in der selben Zeile zurück geht. (Gleiche Zeile aber Spalte -1). Gibt es in VBA eine solche Anweisung?
Ja, diese Anweisung gibt es, Sie setzen sie jedoch im selben Makro ganz am Ende ein. Die Anweisung heisst "ActiveCell.Offset". Die Syntax dafür lautet Offset([RowOffset],[ColumnOffset]) as Range. Das bedeutet, die erste Zahl innerhalb der gebogenen Klammern gibt die Anzahl Zeilen an, um die sich der Cursor verschieben soll, die zweite demnach die Anzahl der Spalten. Es müssen immer zwingend beide Stellen besetzt sein, wobei an einer Stelle natürlich auch 0 stehen darf.
Nehmen wir an, die aktive Zelle am Ende ihres Makros ist die Zelle C4. Sie möchten nun erreichen, dass der Cursor auf B4 springt. Dann geben Sie vor dem Ende der Prozedur die folgende Anweisung ein:
ActiveCell.Offset(0,-1).select
Das wars schon. Der Cursor verschiebt sich um eine Spalte nach links, sobald das Makro an dieser Zeile in der Prozedur angekommen ist.


Kommentare
Es sind keine Kommentare vorhanden.