Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA: Cursor-Position

VBA: Cursor-Position
24.04.2008 19:33:00
Peter/Berlin
Hallo VBA-Fans,
1) Die aktuelle Position des Cursors (Mauszeiger) über einem worksheet soll anzeigt werden.
Bezug ist ja die linke obere Ecke.
Wenn der Cursor bewegt wird, soll sich die Anzeige entspr. ändern.
und alternativ
2) Dem Cursor soll eine bestimmte Position über dem worksheet zugewiesen werden.
Wie lautet der entspr. Code dafür?
Wer kann mir weiterhelfen?
Gruß aus Berlin
Peter

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Cursor-Position
24.04.2008 19:44:37
Beverly
Hi Peter,
schau mal hier: Link zur Seite, vielleicht hilft dir das weiter.


Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

VBA: Cursor-Position in Excel


Schritt-für-Schritt-Anleitung

Um die aktuelle Position des Cursors in einem Excel-Arbeitsblatt anzuzeigen und dynamisch zu aktualisieren, kannst du folgenden VBA-Code verwenden:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf „VBAProject (DeineDatei.xlsx)“ klickst und „Einfügen“ > „Modul“ wählst.

  3. Kopiere den folgenden Code in das Modul:

    Dim WithEvents App As Application
    
    Private Sub Workbook_Open()
       Set App = Application
    End Sub
    
    Private Sub App_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
       MsgBox "Die aktuelle Cursor-Position ist: " & Target.Address
    End Sub
  4. Speichere die Datei als „Excel-Makro-fähige Arbeitsmappe (*.xlsm)“.

  5. Schließe den VBA-Editor und kehre zu Excel zurück.

Jetzt wird bei jeder Auswahländerung in einem Arbeitsblatt ein Popup mit der aktuellen Cursor-Position angezeigt.

Um den Cursor an eine bestimmte Position zu bewegen, kannst du folgenden Code verwenden:

Sub SetCursorPosition()
    Application.Goto Reference:=Range("A1")
End Sub

Führe dieses Makro aus, um den Cursor zur Zelle A1 zu verschieben.


Häufige Fehler und Lösungen

  • Fehler: Das Makro wird nicht ausgeführt.

    • Lösung: Stelle sicher, dass die Makros in den Excel-Optionen aktiviert sind. Gehe zu „Datei“ > „Optionen“ > „Trust Center“ > „Einstellungen für das Trust Center“ und aktiviere die Makros.
  • Fehler: Die MsgBox zeigt nicht die richtige Adresse an.

    • Lösung: Überprüfe, ob der Code im richtigen Modul und in der richtigen Arbeitsmappe ist.

Alternative Methoden

Falls du keine VBA-Lösungen verwenden möchtest, kannst du auch die Excel-Funktionalitäten nutzen, um Positionen manuell zu verfolgen. Eine Möglichkeit ist die Verwendung von „Name Box“, die sich links oben in der Excel-Oberfläche befindet. Hier kannst du die Adresse der aktiven Zelle sehen, wenn du den Cursor über das Arbeitsblatt bewegst.


Praktische Beispiele

  • Beispiel 1: Wenn du die Position des Cursors in Zelle B2 anzeigen möchtest, kannst du den Code wie folgt anpassen:

    Private Sub App_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
       If Not Intersect(Target, Range("B2")) Is Nothing Then
           MsgBox "Die Cursor-Position ist B2"
       End If
    End Sub
  • Beispiel 2: Um den Cursor direkt zu einer bestimmten Zelle zu verschieben, kannst du einfach die Referenz in der SetCursorPosition-Subroutine anpassen.


Tipps für Profis

  • Nutze die „Immediate Window“ im VBA-Editor (drücke CTRL + G), um Variablen zur Laufzeit zu überprüfen und Debugging zu erleichtern.
  • Experimentiere mit dem „Workbook_Open“-Ereignis, um den Code automatisch beim Öffnen der Datei auszuführen.
  • Halte deine VBA-Projekte gut dokumentiert, um den Überblick über die Funktionen zu behalten.

FAQ: Häufige Fragen

1. Wie kann ich den VBA-Code anpassen, um die Cursor-Position in einer bestimmten Zelle anzuzeigen?
Du kannst die MsgBox-Anweisung im App_SheetSelectionChange-Ereignis anpassen, um spezifische Zellen zu überprüfen.

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der VBA-Code sollte in den meisten modernen Excel-Versionen (Excel 2010 und höher) funktionieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige