14.07.2017, 17:37
Einen schönen guten Tag Excelianer,
ich habe ein anscheint seltenes Problem. Da ich seit h danach auf allen Forenplattformen suche und nichts finde.
Problem:
Ich habe eine ListBox1 die sich per VBA in einer Userform füllt. Sie liest die Daten aus Tabelle1 aus. Soweit auch alles super.
Mein Problem ist das ich gleiche Namen in Spalte A habe.
hier mal ein Beispiel, da meine Datei schon so gewaltig ist das es einfacher als wenn ich sie hochladen würde.
A B C D E
Name Vorname Geburtsdatum Wohnort Personalnummer
Mustermann Max 01.01.1999 Berlin 123456
Mustermann Paul 12.12.2012 München 654321
Musterfrau Sonja 31.12.1949 Hamburg 456789
Nun wird in der ListBox1 kein Unterschied zwischen Mustermann 1 und 2 gemacht. Alle Werte A-E werden zusätzlich in TextBoxen angezeigt, daher kann ich gut sehen das sich kein Wert verändert. Es werden nur die Daten des ersten Mustermann, Max angezeigt.
Nicht wundern wegen meinem CODE das ist eine andere Datei, die etwas anders ist, aber auf die selbe Weise die Daten einfügt und mir damit die selben Probleme bereitet.
Also wenn wer doch mehr haben will, gern, mir Platz der Kopf, ich seh vor lauter !"§$%&/()=?`*' nichts mehr.....
Danke..!!! :22:
Hier noch mein Code für die Listbox
ich habe ein anscheint seltenes Problem. Da ich seit h danach auf allen Forenplattformen suche und nichts finde.
Problem:
Ich habe eine ListBox1 die sich per VBA in einer Userform füllt. Sie liest die Daten aus Tabelle1 aus. Soweit auch alles super.
Mein Problem ist das ich gleiche Namen in Spalte A habe.
hier mal ein Beispiel, da meine Datei schon so gewaltig ist das es einfacher als wenn ich sie hochladen würde.
A B C D E
Name Vorname Geburtsdatum Wohnort Personalnummer
Mustermann Max 01.01.1999 Berlin 123456
Mustermann Paul 12.12.2012 München 654321
Musterfrau Sonja 31.12.1949 Hamburg 456789
Nun wird in der ListBox1 kein Unterschied zwischen Mustermann 1 und 2 gemacht. Alle Werte A-E werden zusätzlich in TextBoxen angezeigt, daher kann ich gut sehen das sich kein Wert verändert. Es werden nur die Daten des ersten Mustermann, Max angezeigt.
Nicht wundern wegen meinem CODE das ist eine andere Datei, die etwas anders ist, aber auf die selbe Weise die Daten einfügt und mir damit die selben Probleme bereitet.
Also wenn wer doch mehr haben will, gern, mir Platz der Kopf, ich seh vor lauter !"§$%&/()=?`*' nichts mehr.....
Danke..!!! :22:
Hier noch mein Code für die Listbox
Code:
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
txt_ersteller = ""
txt_Problem = ""
txt_Lösung = ""
txt_date = ""
'Nur wenn ein Eintrag selektiert/markiert ist
If ListBox1.ListIndex >= 0 Then
lZeile = 2 'Start in Zeile 2, Zeile 1 sind ja die Überschriften
'Schleife solange etwas in der zweiten 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 2
'gefunden haben, übertragen wir die anderen Spalteninhalte
'in die TextBoxen!
If ListBox1.Text = Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) Then
'TextBoxen füllen
txt_Problem = Tabelle1.Cells(lZeile, 5).Value
txt_Lösung = Tabelle1.Cells(lZeile, 6).Value
txt_ersteller = Tabelle1.Cells(lZeile, 7).Value
FillAndFormatDate2DateText Me.txt_date, Tabelle1.Cells(lZeile, 8).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
Private Sub UserForm_Initialize()
Dim lZeile As Long
'Alle TextBoxen leer machen
txt_ersteller = ""
txt_Problem = ""
txt_Lösung = ""
txt_date = ""
'In dieser Routine laden wir alle vorhandenen
'Einträge in die ListBox1
ListBox1.Clear 'Zuerst einmal die Liste leeren
lZeile = 2 'Start in Zeile 2, Zeile 1 sind ja die Überschriften
'Schleife solange etwas in der zweiten Spalte in Tabelle 1 drin steht
Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) <> ""
'Aktuelle Zeile in die ListBox eintragen
ListBox1.AddItem
ListBox1.List(ListBox1.ListCount - 1, 0) = Cells(lZeile, 1).Text
ListBox1.List(ListBox1.ListCount - 1, 1) = Cells(lZeile, 2).Text
ListBox1.List(ListBox1.ListCount - 1, 2) = Cells(lZeile, 3).Text
ListBox1.List(ListBox1.ListCount - 1, 3) = Cells(lZeile, 4).Text
lZeile = lZeile + 1 'Nächste Zeile bearbeiten
Loop
End Bub