Anzeige
Archiv - Navigation
1008to1012
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
Fokus in Textbox und Curser hinter Text
12.09.2008 12:14:38
Reinhard
Hallo Wissende,
Autofilter "vergißt" einige Zeilen wenn mehr als 1000 unterschiedliche Listeneinträge da sind.
Deshalb bastelte ich mir folgenden Code. man hat im Blatt eine TextBox und eine Listbox. Je nach Eingabe in die Textbox erscheinen in der Listbox nur die Einträge die anfangs so wie der Text beginnen, gleichzeitig wird die Liste in C nach dem Text der Textbox gefiltert.
Mein Problem ist nun, nach Verändern des Textes in der Textbox ist der Text blau markiert
Höchstwahrscheinlich geht es also um dies Codestelle:

ListBox1.List = e
If Not AutoFilterMode Then Range("C1").AutoFilter
Range("C1").AutoFilter Field:=1, Criteria1:=TextBox1 & "*", VisibleDropDown:=False
With TextBox1
'.SetFocus
.SelStart = 0
.SelLength = Len(TextBox1)
End With


Was muß ich da verändern damit ich am Ende des Textes weiterschreiben kann ohne daß ich vorher da hinklicken muß?
Daß Setfocus einen Fehler hervorruft, liegt das daran daß die Textbox nicht in einer UF steht?
Die Datei: https://www.herber.de/bbs/user/55341.xls

hat u.a. nachfolgenden Code:
Danke ^ Gruß
Reinhard


Option Explicit
Option Base 1
Private Sub TextBox1_Change()
Dim e(), f(10000), N, Anz
A = Range("A1:A10000")
C = Range("C1:C10000")
For N = 2 To 10000
f(N) = C(N, 1)
If C(N, 1) Like TextBox1 & "*" Then
Anz = Anz + 1
ReDim Preserve e(Anz)
e(Anz) = C(N, 1)
End If
Next N
If IsEmpty(Anz) Then
ReDim e(1)
e(1) = "Nix gefunden"
End If
ListBox1.Clear
If TextBox1 = "" Then
ListBox1.List = f
If AutoFilterMode Then Range("C1").AutoFilter
Else
ListBox1.List = e
If Not AutoFilterMode Then Range("C1").AutoFilter
Range("C1").AutoFilter Field:=1, Criteria1:=TextBox1 & "*", VisibleDropDown:=False
With TextBox1
'.SetFocus
.SelStart = 0
.SelLength = Len(TextBox1)
End With
End If
End Sub


5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fokus in Textbox und Curser hinter Text
12.09.2008 12:51:00
Rudi
Hallo,
das finde ich ein bisschen imständlich.
Überschriften in Zeile 4
In A1: =A4 und nach rechts kopieren
Zeile 2 z.B. gelb machen (nur für die Optik)
Zeile 3 ausblenden.
Im Klassenmodul der Tabelle:

Private Sub Worksheet_Change(ByVal Target As Range)
Cells(4, 1).CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=Range(Cells(1, 1), Cells(2, Columns.Count).End(xlToLeft)), Unique:=False
End Sub


Suchbegriff in Zeile 2 eingeben, es können auch * und ? verwendet werden.
Gruß
Rudi

Anzeige
AW: Fokus in Textbox und Curser hinter Text
12.09.2008 13:26:00
Reinhard
Hallo Rudi,
danke dir. Ja, ich habe mich da ein bisschen verrannt, habe auch schon gemerkt daß da vieles einfacher geht, wie z.B. mit Spezialfiltern.
Aber jetzt habe ich schon solange an dem Code gefeilt, jetzt würde ich schon gerne wissen wie ich da den Curser in der Textbox positioniere und warum SetFocus einen fehler bringt, deshalb Frage noch offen.
Auf die Codezeilen:

With TextBox1
.SetFocus
.SelStart = 0
.SelLength = Len(TextBox1)
End With


stieß ich mehrmals im Internet.
Gruß
Reinhard

AW: Fokus in Textbox und Curser hinter Text
12.09.2008 14:35:53
Rudi
Hallo,
das, was du schreibst gilt nur für Textboxen in einem UF.

wie ich da den Curser in der Textbox positioniere


Textbox1.activate
Gruß
Rudi

Anzeige
AW: Fokus in Textbox und Curser hinter Text
12.09.2008 14:17:00
Daniel
Hi
probiers mal so:
With TextBox1
.SelStart = Len(TextBox1)
End With
Gruß, Daniel
Dankeschön an Rudi und Daniel
12.09.2008 17:02:20
Reinhard
Hallo Rudi, Daniel,
klappt beides *freu*
Gruß
Reinhard

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige