wie kann man die Position der Cursor (ich hoffe man nennt das so auf Deutsch) festlegen, damit man nach durchführung eines Makros auf der alte Position zurück kommt.
Grüße Niek
wie kann man die Position der Cursor (ich hoffe man nennt das so auf Deutsch) festlegen, damit man nach durchführung eines Makros auf der alte Position zurück kommt.
Grüße Niek
am Ende des Makros einbauen:
Range("A1").select
Dann wird wieder die Zelle A1 angewählt.
Gruß Bors
ich möchte eigentlich zurück zu der Position wo der Benutzer gerade war beim Anfang. Gibt es dafür auch eine Möglichkeit?
Grüße Niek
versuche es so:
Gruß
Jürgen
Um die Position des Cursors in Excel VBA zu setzen, kannst du die folgenden Schritte befolgen:
Öffne den VBA-Editor:
ALT + F11
, um den Visual Basic for Applications (VBA) Editor zu öffnen.Erstelle ein neues Modul:
Einfügen > Modul
.Schreibe das Makro:
Dim ursprünglichePosition As Range
Sub BeispielMakro()
' Speichere die aktuelle Cursor-Position
Set ursprünglichePosition = ActiveCell
' Führe hier deinen Code aus
' ...
' Setze den Cursor zurück zur ursprünglichen Position
ursprünglichePosition.Select
End Sub
Führe das Makro aus:
Entwicklertools > Makros
aus.Fehler: "Objekt erforderlich":
ursprünglichePosition
nicht korrekt gesetzt.ActiveCell
korrekt zuweist, bevor du das Makro ausführst.Fehler: Cursor bewegt sich nicht zurück:
Eine alternative Methode, um die Cursor-Position in einer bestimmten Zelle zu setzen, ist die Verwendung von Range
:
Sub SetzeCursorInZelle()
' Setze den Cursor auf Zelle B2
Range("B2").Select
End Sub
Wenn du die Position des Cursors auf eine Zelle setzen möchtest, kannst du den Code anpassen, um die gewünschte Zelle anzugeben.
Hier sind einige praktische Beispiele, die dir helfen können, die Cursor-Position in Excel VBA besser zu verstehen:
Zurücksetzen des Cursors nach einer Berechnung:
Sub BerechnungUndCursorZurück()
Dim ursprünglichePosition As Range
Set ursprünglichePosition = ActiveCell
' Führe eine Berechnung durch
Range("A1").Value = Range("A1").Value * 2
' Cursor zurücksetzen
ursprünglichePosition.Select
End Sub
Cursor in einer Schleife setzen:
Sub SchleifeUndCursorSetzen()
Dim i As Integer
Dim ursprünglichePosition As Range
Set ursprünglichePosition = ActiveCell
For i = 1 To 10
Cells(i, 1).Value = i
Next i
ursprünglichePosition.Select
End Sub
Verwende Application.Goto
:
Um die Cursor-Position auf eine spezifische Zelle zu setzen, kannst du Application.Goto
verwenden:
Application.Goto Reference:=Range("C3")
Cursor-Position speichern:
Es ist sinnvoll, die ActiveCell
vor dem Ausführen eines Makros zu speichern, um sicherzustellen, dass du zur richtigen Stelle zurückkehrst.
1. Wie kann ich die aktuelle Cursor-Position abfragen?
Du kannst die aktuelle Cursor-Position mit dem folgenden Code abfragen:
Dim aktuellePosition As Range
Set aktuellePosition = ActiveCell
MsgBox "Aktuelle Position: " & aktuellePosition.Address
2. Funktioniert das nur in Excel VBA?
Ja, die beschriebenen Methoden sind spezifisch für Excel VBA. Ähnliche Konzepte gelten jedoch auch in anderen Programmiersprachen, die mit Microsoft Office interagieren.
3. Kann ich die Position des Cursors auch in einer UserForm setzen?
Ja, du kannst die Cursor-Position in einer UserForm setzen, indem du die SetFocus
-Methode für das gewünschte Steuerelement verwendest.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen