Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA, Textcursor-Position in Textbox

Forumthread: VBA, Textcursor-Position in Textbox

VBA, Textcursor-Position in Textbox
28.03.2003 09:03:25
Rainer Quaas
Hallo Excel-User,

wie kann man per VBA-Code die Text-Cursorposition in einer Textbox bestimmen?

Hintergrund der Frage ist der:

Der Textbox1 habe ich ein Change-Ereignis zugeordnet. Versuche ich jetzt innerhalb des Textes der Textbox1 neuen Text per Tastatur einzufügen, so springt der Text-Cursorposition nach Eingabe des ersten Zeichens an das Textende.

Dies könnte man beheben, wenn die Text-Cursorposition ausgelesen wird und nach jedem Change-Ereignis neu gesetzt wird.

Wer weis Rat?

Rainer



Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: VBA, Textcursor-Position in Textbox
28.03.2003 19:47:38
Rainer Wittstock

Hallo Namensvetter,

txtText.SelStart = 6

setzt Cursor hinter das sechte Zeichen.


Gruß Rainer

Re: VBA, Textcursor-Position in Textbox
29.03.2003 20:16:47
Rainer Quaas

Hallo Rainer,

danke, ja das war's.

Gruß Rainer

Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Textcursor-Position in einer Textbox per VBA setzen


Schritt-für-Schritt-Anleitung

Um die Textcursor-Position in einer Textbox mit VBA zu setzen, kannst Du den folgenden Code verwenden:

  1. Öffne den Visual Basic Editor (Alt + F11).
  2. Wähle das entsprechende Arbeitsblatt oder das UserForm aus.
  3. Füge den folgenden Code in das Code-Fenster ein:

    Private Sub txtText_Change()
       Dim cursorPosition As Long
       ' Hole die aktuelle Cursorposition
       cursorPosition = txtText.SelStart
    
       ' Deine Logik hier
    
       ' Setze die Cursorposition zurück
       txtText.SelStart = cursorPosition
    End Sub

Dieser Code liest die Cursorposition in der Textbox txtText aus und setzt sie nach Änderungen wieder zurück. Das ist nützlich, wenn Du möchtest, dass die Cursorposition nicht zum Ende des Textes springt.


Häufige Fehler und Lösungen

  1. Cursor springt nicht an die richtige Position:

    • Stelle sicher, dass Du die SelStart Eigenschaft korrekt verwendest, um die Cursorposition zu setzen.
  2. Fehlermeldung bei der Ausführung des Codes:

    • Überprüfe, ob die Textbox korrekt benannt ist. Der Name im Code muss mit dem Namen der Textbox im UserForm übereinstimmen.

Alternative Methoden

Du kannst auch die SelLength Eigenschaft verwenden, um die Auswahl in der Textbox zu steuern. Hier ein Beispiel:

txtText.SelLength = 0 ' Keine Auswahl
txtText.SelStart = 5  ' Setze Cursor an die 5. Position

Diese Methode gibt Dir mehr Kontrolle über die Textauswahl und die Cursorposition in der Textbox.


Praktische Beispiele

Angenommen, Du möchtest, dass der Cursor immer nach dem 6. Zeichen positioniert wird:

Private Sub txtText_Change()
    txtText.SelStart = 6 ' Setzt Cursor hinter das 6. Zeichen
End Sub

Diese einfache Zeile ermöglicht es Dir, die vba cursor position präzise zu steuern und ein besseres Benutzererlebnis zu schaffen.


Tipps für Profis

  • Nutze die vba get cursor position in textbox, um die Cursorposition zu speichern, bevor Du Änderungen vornimmst. So kannst Du sicherstellen, dass der Cursor immer an der gewünschten Stelle bleibt.
  • Experimentiere mit verschiedenen Textbox-Ereignissen wie KeyUp oder KeyDown, um noch mehr Kontrolle über die Cursorposition zu erhalten.

FAQ: Häufige Fragen

1. Wie kann ich die aktuelle Cursorposition auslesen?
Verwende die SelStart Eigenschaft, um die aktuelle Cursorposition zu bekommen:

Dim currentPos As Long
currentPos = txtText.SelStart

2. Was macht die SelLength Eigenschaft?
SelLength gibt die Länge der ausgewählten Textstelle in der Textbox zurück und kann auch verwendet werden, um Text auszuwählen oder die Auswahl zu löschen.

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