Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
772to776
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
772to776
772to776
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

logisches Suchefenster

logisches Suchefenster
15.06.2006 18:45:08
Stefan
Hallo zusammen
Ich benötige ein Suchfenster welches mir nach der eingabe der/s ersten Buchstaben
ein Ergebniss eingerenzt und auch jene Eingrenzug gleich anzeigt.
d.h
In Spalte 1 stehen 1000e Strassen in weiteren Spalten sind zu den Strassen Werte hinterlegt, nun sollte wenn ich mit z.B. H anfange alle Strassennamen erscheinen die mit "H" beginnen mit dem entprechenden Werten aus den nachfolgenden Spalten jener Zeile; gebe ich nun weiter "Hi" ein wird die auswahl weiter eingegrenzt u.s.w.
Wichtig dabei währe das die Eingrenzung direkt während der Eingabe geschieht.
Gibt es dafür schon ein Tool ?

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: logisches Suchefenster
15.06.2006 18:53:05
Daniel Eisert
Hallo
wenn deine Liste sortiert ist, geht das mit ner normalen Combobox.
Es wird zwar nicht eingegrenzt, aber die Anzeige springt zum ersten passenden Element.
Wenns sortiert ist, ist ein eingrenzen der Anzeige dann nicht unbedingt erforderlich.
Gruß, Daniel
AW: logisches Suchefenster
15.06.2006 19:17:42
Josef Ehrensberger
Hallo Daniel!
Bau dir ein UF mit einer Listbox (ListBox1, fünf Spalten) und einer
TextBox (TextBox1).
Die Strassennamen befinden sich in Spalte "A", eingelesen werden die Spalten
"A" bis "E"
schreib in das Modul des UF diesen Code.
' **********************************************************************
' Modul: UserForm1 Typ: Userform
' **********************************************************************

Option Explicit

Private Sub TextBox1_Change()
Dim rng As Range, rngF As Range
Dim strFirst As String, strFind As String
Dim intC As Integer

ListBox1.Clear

strFind = Trim$(TextBox1)

If Len(strFind) = 0 Then Exit Sub

Set rng = Sheets("Tabelle3").Range("A:A")

Set rngF = rng.Find(strFind & "*", lookat:=xlWhole)

If Not rngF Is Nothing Then
  
  strFirst = rngF.Address
  
  Do
    
    With ListBox1
      .AddItem rngF.Text
      For intC = 1 To 4
        .List(.ListCount - 1, intC) = rngF.Offset(0, intC).Text
      Next
    End With
    
    Set rngF = rng.FindNext(rngF)
    
  Loop While Not rngF Is Nothing And strFirst <> rngF.Address
  
End If

Set rng = Nothing
Set rngF = Nothing

End Sub


Gruß Sepp


Anzeige
AW: logisches Suchefenster
16.06.2006 00:32:56
Daniel Eisert
Hallo,
ich hatte nicht gefragt, aber trotzdem denke ich, daß eine eine Combobox fast den gleichen Effekt hat, ohne Programmieraufwand.
Lediglich zwei Zeilen zum Sortieren der Liste (kann aber entfallen, wenn sich die Liste nicht ändert) und zum Zuweisen der Liste an die Combobox (kann eben so als code entfallen und fix eingestellt werden, falls sich nichts ändert) sind erforderlich.

Private Sub UserForm_Activate()
Range("A1").CurrentRegion.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
ComboBox1.RowSource = Range("A1").CurrentRegion.Address
End Sub

Was einem besser gefällt oder fürs Arbeiten angenehmer ist, ist dann geschmackssache.
zum Vergleich: https://www.herber.de/bbs/user/34399.xls
Gruß, Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige