Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1768to1772
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

Listbox bei mehrfach Einträgen

Listbox bei mehrfach Einträgen
15.07.2020 13:39:52
Andy
Hallo zusammen,
ich habe mir eine Eingabemaske erstellt mit einer Listbox Funktion erstellt. Das funktioniert auch soweit.
Allerdings ist mir aufgefallen, sobald ein Name doppelt vergeben ist, wird in der Listbox nicht die Auswahl angezeigt, welche ich anklicke, sondern die erste oder welche man vorher ausgewählt hat.
Wie kann ich dies beheben, so das auch immer die richtige Auswahl angezeigt wird?
'Klick auf die ListBox Ereignisroutine

Private Sub ListBox1_Click()
Dim lZeile As Long
'Wenn der Benutzer einen Namen anklickt, suchen wir
'diesen in der Tabelle1 heraus und tragen die Daten
'in die TextBoxen ein.
'Wir löschen standardmäßig alle bisherigen TextBoxen-Inhalte
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
ComboBox1 = ""
TextBox6 = ""
TextBox7 = ""
TextBox8 = ""
TextBox9 = ""
'Nur wenn ein Eintrag selektiert/markiert ist
If ListBox1.ListIndex >= 0 Then
lZeile = 5 'Start in Zeile 2, Zeile 1 sind ja die Überschriften
'Schleife solange etwas in der ersten Spalte in Tabelle 1 drin steht
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value))  ""
'Wenn wir den Namen aus der ListBox1 in der Tabelle1 Spalte 1
'gefunden haben, übertragen wir die anderen Spalteninhalte
'in die TextBoxen!
If ListBox1.Text = Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) Then
'TextBoxen füllen
TextBox1 = Trim(CStr(Tabelle1.Cells(lZeile, 1).Value))
TextBox2 = Tabelle1.Cells(lZeile, 2).Value
TextBox3 = Tabelle1.Cells(lZeile, 3).Value
TextBox4 = Tabelle1.Cells(lZeile, 4).Value
ComboBox1 = Tabelle1.Cells(lZeile, 5).Value
TextBox6 = Tabelle1.Cells(lZeile, 6).Value
TextBox7 = Tabelle1.Cells(lZeile, 7).Value
TextBox8 = Tabelle1.Cells(lZeile, 14).Value
TextBox9 = Tabelle1.Cells(lZeile, 17).Value
Exit Do 'Vorzeitiges Ende, da der Datensatz schon gefunden ist
End If
lZeile = lZeile + 1 'Nächste Zeile bearbeiten
Loop
End If
End Sub

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox bei mehrfach Einträgen
15.07.2020 13:44:00
Werner
Hallo,
wie füllst du denn die Listbox mit den Daten?
Gruß Werner
AW: Listbox bei mehrfach Einträgen
15.07.2020 14:28:59
Daniel
HI
und was muss man jetzt tun um das von dir angesprochene Problem zu bekommen?
welche Aktionen muss man durchführen, welches Ergebnis hat diese Aktion mit deinem Makro und welches Ergebnis sollte diese Aktion deinen wünschen nach haben?
bedenke, da du die Helfer hier nicht für die Arbeit, die sie für dich leisten, bezahlen musst, solltest du ihnen das Leben so einfach wie möglich machen, dh so viel Information wie möglich geben und die Datei so aufbereiten, dass sie das Problem mit möglichst wenig eignem Aufwand nachvollziehen können.
Gruß Daniel
Anzeige
AW: Listbox bei mehrfach Einträgen
15.07.2020 14:41:07
Andy
Hallo Daniel,
wenn du in der über die Eingabemaske verschiedene Mandanten eingibst, werden die ja in der Eingabemaske in vorhanden Einträge angezeigt.
Sobald aber der Name (z. Bssp. Mandant1) gleich ist, werden die Boxen nicht aktualisiert, wenn ich in vorhanden Einträgen den entsprechenden anklicke. Da wird immer nur das erste gefundene Ergebnis genommen.
Gruß Andy
AW: Listbox bei mehrfach Einträgen
15.07.2020 14:57:42
Werner
Hallo,
hier der Code zum Befüllen deiner Listbox:
Private Sub UserForm_Initialize()
With Me
.ComboBox2 = ""
.ComboBox3 = ""
.TextBox2 = ""
.TextBox3 = ""
.TextBox4 = ""
.ComboBox1 = ""
.TextBox6 = ""
.TextBox7 = ""
.TextBox8 = ""
.TextBox9 = ""
End With
With ThisWorkbook.Worksheets("Tabelle1")
If .Cells(5, "A")  "" Then
Me.ListBox1.List = .Range(.Cells(5, "A"), _
.Cells(.Cells(.Rows.Count, "A").End(xlUp).Row, "A")).Value
End If
End With
With Me.ComboBox1
.AddItem "KM1"
.AddItem "KM2"
.AddItem "KM1+2"
.AddItem "C75"
.AddItem "C75_2"
.AddItem "C75+_2"
End With
Me.ComboBox2.RowSource = "Mandanten!A1:A17"
Me.ComboBox3.RowSource = "Mandanten!C1:C7"
End Sub
Hier der Code bei Lisbox_Klick
Private Sub ListBox1_Click()
With Worksheets("Tabelle1")
If Me.ListBox1.ListIndex > -1 Then
Me.ComboBox2 = ""
Me.ComboBox3 = ""
Me.TextBox2 = ""
Me.TextBox3 = ""
Me.TextBox4 = ""
Me.ComboBox1 = ""
Me.TextBox6 = ""
Me.TextBox7 = ""
Me.TextBox8 = ""
Me.TextBox9 = ""
'TextBoxen füllen
Me.ComboBox2 = Trim(.Cells(Me.ListBox1.ListIndex + 5, 1))
Me.ComboBox3 = .Cells(Me.ListBox1.ListIndex + 5, 2)
Me.TextBox2 = .Cells(Me.ListBox1.ListIndex + 5, 3)
Me.TextBox3 = .Cells(Me.ListBox1.ListIndex + 5, 4)
Me.TextBox4 = .Cells(Me.ListBox1.ListIndex + 5, 5)
Me.ComboBox1 = .Cells(Me.ListBox1.ListIndex + 5, 6)
Me.TextBox6 = .Cells(Me.ListBox1.ListIndex + 5, 7)
Me.TextBox7 = .Cells(Me.ListBox1.ListIndex + 5, 8)
Me.TextBox8 = .Cells(Me.ListBox1.ListIndex + 5, 15)
Me.TextBox9 = .Cells(Me.ListBox1.ListIndex + 5, 18)
End If
End With
End Sub
Da die Listbox lückenlos von Zeile 5 bis zur letzten befüllten Zeile in Spalte A befüllt wird, kannst du über den Listindex der Listbox auf die entsprechende Zeile in der Tabelle zugreifen.
Der erste Eintrag in der Listbox hat den Listindex 0 - bedeutet, dass der zugehörige Eintrag in der Tabelle in Zeile 5 sprich Listindex + 5 steht.
Gruß Werner
Anzeige
AW: Listbox bei mehrfach Einträgen
15.07.2020 15:18:19
Andy
Hallo Werner,
vielen Dank. Ich hab das mal so eingefügt und getestet.
Nur bekomme ich die Meldung
Laufzeitfehler 381
Eigenschaft List konnte nicht gesetzt werden. Index des Eigenschaftenfelds ungültig.
Wenn ich auf Debuggen gehen wird folgendes Markiert:
Me.ListBox1.List = .Range(.Cells(5, "A"), _
.Cells(.Cells(.Rows.Count, "A").End(xlUp).Row, "A")).Value
Gruß Andy
AW: Listbox bei mehrfach Einträgen
16.07.2020 07:24:23
Andy
Guten Morgen,
der Laufzeitfehler ist nur weg, aber das Problem ist immer noch das gleiche.
Wenn ein Mandant mehrmals in der Liste ist, dann wird bei der Auswahl immer nur der erst angezeigt, aber nicht den,den man anklickt
https://www.herber.de/bbs/user/139087.xlsm
Anzeige
AW: Listbox bei mehrfach Einträgen
16.07.2020 09:44:03
Werner
Hallo,
wozu habe ich dir eigentlich den Code für deine Userform geschrieben wenn du ihn nicht benutzt.
In der jetzt hochgeladenen Datei ist immer noch dein alter Code drin. Und du wunderst dich, dass das weiterhin nicht funktioniert? Ich nicht.
Gruß Werner
AW: Listbox bei mehrfach Einträgen
16.07.2020 10:35:30
Andy
Hallo Werner,
das war mein Fehler, ich dachte ich hatte deine Datei offen.
Danke dir=)
Gerne u. Danke für die Rückmeldung. o.w.T.
16.07.2020 11:46:04
Werner
AW: Listbox bei mehrfach Einträgen
15.07.2020 13:52:32
Hajo_Zi
schreibe in eine Spalte der Listbox die Zeile. Es gibt auch Spaltenbreite 0 bei Listbox.
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
änderrn.
Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige