Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Abfrage aktuelle Cursor-Position in Textbox | Herbers Excel-Forum


Betrifft: Abfrage aktuelle Cursor-Position in Textbox von: Martin S.
Geschrieben am: 16.01.2010 20:06:06

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

  

Betrifft: selstart+sellength owT von: Rudi Maintaire
Geschrieben am: 16.01.2010 21:45:08




  

Betrifft: Nein, genau das ist ja das Problem... von: Martin S.
Geschrieben am: 16.01.2010 22:20:50

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


  

Betrifft: AW: Nein, genau das ist die Lösung von: Josef Ehrensberger
Geschrieben am: 16.01.2010 22:54:18

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



  

Betrifft: was willst du bezwecken? owT von: Rudi Maintaire
Geschrieben am: 16.01.2010 22:54:38




  

Betrifft: AW: was willst du bezwecken? owT von: Martin S.
Geschrieben am: 16.01.2010 23:57:32

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


  

Betrifft: ...hier noch mein Code von: Martin S.
Geschrieben am: 17.01.2010 00:14:52

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


  

Betrifft: ...hab vergessen die Frage noch offen zu lassen von: Martin S.
Geschrieben am: 17.01.2010 00:15:57

s.o.


  

Betrifft: Nutze das KeyUp-Ereignis der Textbox von: F1
Geschrieben am: 17.01.2010 10:07:22

oT


  

Betrifft: ...das hilft nun leider überhaupt nichts... von: Martin S.
Geschrieben am: 17.01.2010 11:55:24

Hallo F1,

nimm mal den von mir geposteten Code, dann verstehst du vielleicht beim Problem.

Viele Grüße

Martin


  

Betrifft: Nach Forumsausfalls noch einmal "Frage offen" von: Martin S.
Geschrieben am: 18.01.2010 10:50:11

s.o.


Beiträge aus den Excel-Beispielen zum Thema "Abfrage aktuelle Cursor-Position in Textbox"