Wenn Sie Excel-Makros entwickeln, fragen Sie sich möglicherweise, wie Sie eine Zelle relativ zu der Zelle auswählen können, in der Sie sich befinden. Wenn Sie beispielsweise Excel verwenden und die Home-Taste drücken, wird die Zelle auf der linken Seite der aktuellen Zeile ausgewählt. Leider hilft es in dieser Situation nicht, den Makrorecorder zum Aufzeichnen zu verwenden, da er das Ziel der Aktion anstelle Ihrer eigentlichen Aktion aufzeichnet. Wenn Sie beispielsweise Home drücken und sich in der vierten Zeile eines Arbeitsblatts befinden, zeichnet Excel die Home-Aktion nicht auf, sondern zeichnet das Ziel wie folgt auf:

Range("A4").Select

Dies ist großartig, wenn Sie immer zur Zelle A4 gehen möchten, aber schrecklich, wenn Sie zur ersten Zelle der Zeile gehen möchten, in der Sie sich befinden.

Wie bei vielen Aufgaben in VBA gibt es verschiedene Möglichkeiten, wie Sie eine Lösung für dieses Dilemma finden können. Die erste Methode ist tatsächlich eine Variation dessen, was der Makrorecorder zurückgibt, wie oben gezeigt. Alles, was Sie tun müssen, ist, den Zeilenbezeichner so zu ändern, dass er die aktuelle Zeile darstellt, wie im Folgenden:

Range("A" & (ActiveCell.Row)).Select

VBA findet heraus, was die aktuelle Zeile ist, und schlägt sie zusammen mit dem „A“

Bezeichner und erstellt eine Zellreferenz, die mit der Range-Methode funktioniert.

Eine andere Technik, die Sie verwenden können, besteht darin, die Cells-Eigenschaft wie folgt zum Laufen zu bringen:

Cells(Application.ActiveCell.Row, 1).Select

Dieser Ansatz kann natürlich so geändert werden, dass Sie tatsächlich eine bestimmte Zelle in der aktuellen Zeile auswählen. Sie müssen lediglich die Spaltenbezeichnung (1 im obigen Beispiel) in eine Zahl ändern, die die gewünschte Spalte darstellt.

Ein anderer Ansatz (der das gleiche Ergebnis liefert) besteht darin, das Range-Objekt in Verbindung mit der Cells-Eigenschaft zu verwenden, wie hier gezeigt:

Range(Cells(Selection.Row, 1).Address).Select

Selection.Row gibt die Zeilennummer der aktuellen Auswahl an. Die Address-Eigenschaft der Cells-Methode gibt die Adresse einer bestimmten Zelle im A $ 1 $ -Format zurück. Diese Adresse wird dann als Parameter für das Range-Objekt verwendet, und die tatsächliche Zelle wird mit der Select-Methode ausgewählt.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (11440) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365. Eine Version dieses Tipps für die ältere Menüoberfläche von Excel finden Sie hier: