Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1128to1132
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Abfrage aktuelle Cursor-Position in Textbox
Martin
Hallo liebe Excel-Gemeinde,
ich suche eine Möglichkeit die aktuelle Cursor-Position in einer Textbox abzufragen.
Mir ist durchaus bewusst, dass mit "SelStart" der Anfang eines markierten Textes abgefragt werden kann, der MEIST auch zugleich die Cursor-Position ist. Aber wenn der Text in der Textbox mit gedrückter Umschalt- bzw. Shift-Taste und der Pfeiltaste nach rechts markiert wurde, gibt Excel mit "SelStart" (selbstverständlich) die Position des ersten markierten Zeichens und nicht die aktuelle Cursor-Position wieder.
Für Antworten wäre ich - wie immer - äußerst dankbar!
Viele Grüße
Martin
selstart+sellength owT
16.01.2010 21:45:08
Rudi
Nein, genau das ist ja das Problem...
16.01.2010 22:20:50
Martin
Hallo Rudi,
Vielen Dank für deine Antwort. Der Ansatz ist schon richtig, aber woher weiß ich, ob nun "SelStart" oder "SelStart+SelLength" abgefragt werden muss? Oder anders gefragt: Woher weiß ich, ob der Cursor links oder rechts von der Markierung steht?
Viele Grüße
Martin
AW: Nein, genau das ist die Lösung
16.01.2010 22:54:18
Josef
Hallo Martin,
.SelStart gibt entweder die Cursorposition oder den Beginn der Markierung an.
Also ".SelStart + .SelLength" wenn du dahinter etwas einfügen willst, ."SelStart -1" wenn du davor etwas einfügen willst.
Gruß Sepp

Anzeige
was willst du bezwecken? owT
16.01.2010 22:54:38
Rudi
AW: was willst du bezwecken? owT
16.01.2010 23:57:32
Martin
Hallo Rudi,
ich habe mir eine eigene Autovervollständigung ein Texteingabe unter Berücksichtigung der Groß- und Kleinschreibung geschrieben (quasi eine benutzerdefinierte MatchEntry-Variante). Leider habe ich aber Probleme mit der Markierung, wenn ich mit Shift und Pfeiltasten innerhalb des Textes navigiere.
Viele Grüße
Martin
...hier noch mein Code
17.01.2010 00:14:52
Martin
Hallo,
vielleicht versteht ihr mein Problem mit dem Code etwas besser:
Private Sub ComboBox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Autovervollständigung unter Beachtung Groß-/Kleinschreibung
Dim TempInhalt As String
Dim i As Integer
With ComboBox3
TempInhalt = Left(.Text, .SelStart) & Chr(KeyAscii)
For i = 1 To .ListCount
If Left(.List(i - 1), Len(TempInhalt)) = TempInhalt Then
KeyAscii = 0
.Value = .List(i - 1)
.SelStart = Len(TempInhalt)
.SelLength = Len(.Text) - Len(TempInhalt)
Exit For
End If
Next i
End With
End Sub
Die Combobox ist mit sehr vielen Einträgen in alphabetischer Reihenfolge gefüllt.
Viele Grüße
Martin
Anzeige
...hab vergessen die Frage noch offen zu lassen
17.01.2010 00:15:57
Martin
s.o.
Nutze das KeyUp-Ereignis der Textbox
17.01.2010 10:07:22
F1
oT
...das hilft nun leider überhaupt nichts...
17.01.2010 11:55:24
Martin
Hallo F1,
nimm mal den von mir geposteten Code, dann verstehst du vielleicht beim Problem.
Viele Grüße
Martin
Nach Forumsausfalls noch einmal "Frage offen"
18.01.2010 10:50:11
Martin
s.o.

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige