Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1104to1108
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
Inhaltsverzeichnis

userform listbox

userform listbox
rolf
hallo
ich habe in einer tabelle kontakte von outlook ca.2000 stück.mit einer userform kann ich mir die adressen
u.telefonnummer ansehen.
wenn ich über eine textbox in der userform nach einem bestimmten namen suche funktioniert das nur bedingt mit diesem makro.damit kann ich auch nur in einer spalte suchen,besser wäre es wenn ich nach
nachname u.vorname (spalte b u. d) suchen könnte.
mein makro
hiermit fülle ich die listbox
Private Sub CommandButton1_Click()
With ListBox1
.ColumnHeads = True
.ColumnCount = 5
.RowSource = "D2:D2500"
End With
End Sub
makro-suche in der listbox
Private Sub TextBox1_Change()
Dim myTxt As String, i As Integer
myTxt = UCase(TextBox1.Value)
For i = 0 To ListBox1.ListCount - 1
If myTxt 

schon mal danke für die hilfe
mfg rolf

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: userform listbox
27.09.2009 08:00:45
fcs
Hallo Rolf,
wenn die Namen in der Tabelle sinnvollerweise nach Namen / Vornamen sortiert ist, dann wäre eine Combbox die bessere Lösung für die Auswahl.
Die Combobox-Eigenschaften im Userform dann so einrichten, dass
ColumnsCount=5
RowSource=B2:F2500
Mit Einstellen der ColumnWidth : 50Pt;0Pt;80Pt;50Pt;0Pt
kannst du die Spalten geeignet anzeigen, wobei 0Pt für die Spalten gewählt wird, die nicht angezeigt werden sollen.
je nachdem in welcher Spalte du den Suchnamen eingeben willst muss du dann noch die TextColumn anpassen.
Beim Eingeben des Suchnamens springt die Combobox dann schon zu den Treffern. Die Endauswahl muss du dann in der Liste machen.
Ähnlich kannst du bei einer sortierten Namensliste auch mit der Listbox arbeiten. Richte die Listbox mehrspaltig ein. Mit der Textbox machst du die Hauptsuche und dann wählst du in derListbox den gewünschten Datensatz.
Wenn du mit 2 Textboxen für Name/Vorname arbeiten willst, dann muss deine Listbox mehrspaltig eingerichtet sein (wie oben für die Combobox beschrieben).
Die Prozeduren zum Suchen sind dann wie folgt, wobei du die Nummer der Spalten in der List ggf. anpassen muss.
Gruß
Franz
Private Sub TextBox1_Change() 'Name
Dim myTxt As String, i As Integer, myTxtVorName As String
myTxt = UCase(TextBox1.Value)
myTxtVorName = UCase(TextBox2.Value)
For i = 0 To ListBox1.ListCount - 1
If myTxtVorName = "" Then
If myTxt 

Anzeige
AW: userform listbox
27.09.2009 08:56:41
rolf
hallo
danke Franz
das mit der combobox ist gut,das einzige problem ist das sie nicht richtig nach einem namen sucht wenn ich ihn reinschreibe.
mfg rolf
AW: userform listbox
27.09.2009 09:11:03
fcs
Hallo Rolf,
was heißt nicht richtig?
ggf. muss du auch die BoundColum für die Combobox auf die Spalte mit dem Namen einstellen.
Gruß
Franz
setz .MatchEntry auf 0 oder 1
27.09.2009 09:31:42
Matthias
Hallo
Userbild
AW: setz .MatchEntry auf 0 oder 1
27.09.2009 09:55:49
rolf
hallo
ich habe die listbox entfernt u.auch das makro geändert.
was mache ich falsch ? od.was muss ich ändern
Private Sub ComboBox1_Change()
Dim myTxt As String, i As Integer
myTxt = UCase(ComboBox1.Value)
For i = 0 To ComboBox1.ListCount - 1
If myTxt 
'Dieses Makro dient zum Anzeigen der einzelnen Angaben
Private Sub ComboBox1_Click()
i = ComboBox1.ListIndex + 2
Label69.Caption = "Eintrag " & ComboBox1.ListIndex
i = ComboBox1.ListIndex + 2
TextBox2.Text = Cells(i, 1)
TextBox3.Text = Cells(i, 4)
TextBox4.Text = Cells(i, 2)
TextBox5.Text = Cells(i, 3)
TextBox6.Text = Cells(i, 6)
TextBox7.Text = Cells(i, 8)
TextBox8.Text = Cells(i, 9)
TextBox9.Text = Cells(i, 14)
TextBox10.Text = Cells(i, 12)
TextBox11.Text = Cells(i, 10)
TextBox12.Text = Cells(i, 16)
TextBox13.Text = Cells(i, 21)
TextBox14.Text = Cells(i, 19)
TextBox15.Text = Cells(i, 17)
TextBox16.Text = Cells(i, 32)
TextBox17.Text = Cells(i, 33)
TextBox18.Text = Cells(i, 36)
TextBox19.Text = Cells(i, 43)
TextBox20.Text = Cells(i, 39)
TextBox21.Text = Cells(i, 38)
TextBox22.Text = Cells(i, 35)
TextBox23.Text = Cells(i, 46)
TextBox24.Text = Cells(i, 41)
TextBox25.Text = Cells(i, 56)
TextBox26.Text = Cells(i, 59)
TextBox27.Text = Cells(i, 62)
TextBox28.Text = Cells(i, 91)
TextBox29.Text = Cells(i, 77)
End Sub

Anzeige
hier ein Beispiel ...
27.09.2009 10:34:07
Matthias
Hallo
Leider weiß ich nicht so richtig was Du vorhast. (also wie Dein Ergebnis aussehen soll)
Wo stehen Deine Daten mit der die Box befüllt werden usw.
Ich habe mal ein kleines Beispiel erstellt, mit etwas weniger Textboxen.
https://www.herber.de/bbs/user/64736.xls
Hilft das Dir weiter ?
Gruß Matthias
AW: setz .MatchEntry auf 0 oder 1
27.09.2009 11:04:34
rolf
hallo
vielleicht habe ich das makro falsch geschriebe.das erse makro habe ich zum teil verändert,damit funktioniert es etwas.
was muss ich ändern ?
Private Sub ListBox1_Change()
Dim myTxt As String, i As Integer
myTxt = UCase(ListBox1.Value)
For i = 0 To ComboBox1.ListCount - 1
If myTxt 
'dieses makro dient zum anzeigen der einzelnen angaben
Private Sub ComboBox1_Click()
i = ComboBox1.ListIndex + 2
Label69.Caption = "Eintrag " & ComboBox1.ListIndex
i = ComboBox1.ListIndex + 2
TextBox2.Text = Cells(i, 1)
TextBox3.Text = Cells(i, 4)
TextBox4.Text = Cells(i, 2)
TextBox5.Text = Cells(i, 3)
TextBox6.Text = Cells(i, 6)
TextBox7.Text = Cells(i, 8)
TextBox8.Text = Cells(i, 9)
TextBox9.Text = Cells(i, 14)
TextBox10.Text = Cells(i, 12)
TextBox11.Text = Cells(i, 10)
TextBox12.Text = Cells(i, 16)
TextBox13.Text = Cells(i, 21)
TextBox14.Text = Cells(i, 19)
TextBox15.Text = Cells(i, 17)
TextBox16.Text = Cells(i, 32)
TextBox17.Text = Cells(i, 33)
TextBox18.Text = Cells(i, 36)
TextBox19.Text = Cells(i, 43)
TextBox20.Text = Cells(i, 39)
TextBox21.Text = Cells(i, 38)
TextBox22.Text = Cells(i, 35)
TextBox23.Text = Cells(i, 46)
TextBox24.Text = Cells(i, 41)
TextBox25.Text = Cells(i, 56)
TextBox26.Text = Cells(i, 59)
TextBox27.Text = Cells(i, 62)
TextBox28.Text = Cells(i, 91)
TextBox29.Text = Cells(i, 77)
End Sub
mfg rolf
Anzeige
schau hier ...
27.09.2009 11:35:04
Matthias
Hallo
Zitat:
das erse makro habe ich zum teil verändert,damit funktioniert es etwas.
was muss ich ändern ?

Prima, es funktioniert etwas und was nun weiter ?
Sorry, aber ich weiß nicht was Du willst.


10:34:07 habe ich Dir ein Beispiel geschickt
Userbild
und 11:04:34 kommt Dein nächster Beitrag


Hast Du Dir mein Beispiel überhaupt angeschaut ?
https://www.herber.de/forum/archiv/1104to1108/t1105785.htm
Gruß Matthias
Anzeige
wo ist denn nun das Problem ?
27.09.2009 12:17:48
Matthias
Hallo
Warum tust Du Dich so schwer?
Erkläre doch endlich mal das Problem! !
Ich weiß nicht was Du willst !!
Gruß Matthias
problem mit combobox1
27.09.2009 12:29:30
rolf
hallo
sorry !
wenn ich einen namen in die combobox1 schreibe wird er nicht gesucht (zb.mustermann2) !
mfg rolf
Du suchst ja auch in Spalte A !
27.09.2009 12:37:35
Matthias
Hallo
setz die RowSource-Eigenschaft auf den Bereich D2:D2500
Gruß Matthias
Anzeige
fast perfekt
27.09.2009 13:15:14
rolf
hallo
ja jetz funktioniert es besser.
der name wird gleich in der combobox1 gefunden,aber die textboxen werden nicht sofort gefüllt.dafür muss ich in der combobox1 erst einen namen davor od.dahinter anklicken.
was muss ich dafür endern.
als letztes
kann die combobox1 so eingestellt werden das sie nur bis zum letzten eintrag scrollt ?
vielen dank für die mühe u.geduld mit mir.
mfg rolf
AW: fast perfekt
27.09.2009 14:00:25
Matthias
Hallo
Zitat:
dafür muss ich in der combobox1 erst einen namen davor od.dahinter anklicken.
Kann ich nicht nachvollziehen. Bei mir funzt das sofort.
Das mit der RowSource-Eigenschaft geht z.B. so
Private Sub UserForm_Initialize()
Dim loletzte As Long
loletzte = Worksheets("Tabelle1").Cells(Rows.Count, 4).End(xlUp).Row
Me.ComboBox1.RowSource = "D2:D" & loletzte
End Sub
https://www.herber.de/bbs/user/64742.xls
Gruß Matthias
Anzeige
es funktioniert prima
27.09.2009 14:31:57
rolf
hallo
endlich funktioniert es dank deiner hilfe !!
schönen sonntag noch.
mfg rolf

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige