Bezugnehmend auf den Tipp AutoComplete in der ComboBox wurde im Forum vor kurzem folgendes Problem geschildert: "Ich habe aus der Tipps & Tricks-Sektion den Tip "AutoComplete für eine Combobox" in mein Programm eingebaut und das funktioniert alles wunderbar. Nur wenn es in der Combobox Einträge gibt, die so lang sind, dass sie nicht komplett in die Textbox der Combobox passen, wird automatisch nach dem Setzen der SELLENGTH-Eigenschaft ans Ende des Textes gescrollt und die Eingabemarke ist ausserhalb des sichtbaren Bereichs. In diesem Fall wäre es also sinnvoller, den Inhalt der ComboBox nicht von links beginnend bis ans Ende zu selektieren, sondern umgekehrt vom Ende rückwärts bis zur aktuellen Eingabeposition. Leider unterstützt die SelLength-Eigenschaft keine negativen Wertzuweisungen, so dass wir uns etwas anderes einfallen lassen müssen. Man könnte bspw. den Cursor ans Ende des Textes setzen und dann x-Zeichen rückwärts selektieren, indem man die Shift+Pfeil-nach-links Taste x-mal sendet. Statt: .SelStart = sPos .SelLength = Len(.Text) - sPos + 1 setzen wir folgenden Code ein: .SelStart = Len(.Text) SendKeys "+{LEFT " & CStr((Len(.Text) - sPos)) & "}" Leider ruckelt dann die Darstellung bei jedem Tastendruck ein wenig, was man aber wie folgt abstellen kann: Option Explicit ' Benötigte API-Deklaration Private Declare Function LockWindowUpdate Lib "user32" ( _ ByVal hwndLock As Long) As Long With Combo1 ... LockWindowUpdate .hWnd .SelStart = Len(.Text) SendKeys "+{LEFT " & CStr((Len(.Text) - sPos)) & "}" LockWindowUpdate 0& End With |