Auswählen einer Zelle in der aktuellen Zeile (Microsoft Excel)
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 der tatsächlichen 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 (2267) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: