Hallo Zusammen,
ich bin neu hier und das ist mein erster Beitrag ! (bitte verzeiht mir Anfängerfehler)
Bin absoluter Anfänger und Bastel mir aus verschiedenen Beiträgen und Funden im Netz meine Lösungen zusammen , was ich meistens auch hinbekomme, diesmal aber nicht so ...
Folgende Ausgangs Situation:
ich habe eine Tabelle mit Namen, Vornamen, Adressen etc...
Im Userform1 habe ich zwei Listboxen (1 und 2) in der ersten lasse ich mir alle Einträge Anzeigen mit zwei Spalten (in der ersten Spalte eine Fortlaufende Nummer und in der zweiten den Nachnamen)
wenn man nun einen Eintrag anklickt werden bestimmte Spalteninhalte von Tabelle1 in 9 TextBoxen übertragen.. Das Funktioniert auch soweit ganz gut.
Nun ist die Kundenliste sehr groß mit über 30.000 Einträgen und ich habe mir eine Suchfunktion gebastelt in Form einer TextBox10 .
Wenn ich dort jetzt einen Vor oder Nachnamen suche oder auch nur Teile davon also nur den ersten Buchstaben Tippe dann Listet er mir alle Namen und Vornamen in der ListBox2 auf.... Das Funktioniert auch soweit..
Jetzt kommt aber mein Problem , sobald ich aber dort einen Eintrag in der ListBox2 auswähle sollte er nun auch bestimmte werte (namen, Vorname , Adresse.. etc) wieder in die TextBoxen 1-9 übertragen, was aber diesmal nicht passiert und ich hab keine Ahnung wo mein Fehler liegt ?????
Ich bin kein VBA Experte und hab wie gesagt sehr wenig Erfahrung mit VBA Programierung und hoffe nun auf diesem Wege das sich jemand erbarmt und mir aus der Patsche hilft ?
Hier mal meine Suchfunktion und der ListBox2 Inhalt:
Spoiler anzeigen
Vielen Dank schon mal im vorraus der sich die Zeit nimmt und mir versucht zu helfen !!!!
Schöne Grüße
Joe
Mhhh.. jetzt haben es sich ja schon einige angesehen aber geantwortet hat noch keiner
Für mich Anfänger stellt sich jetzt natürlich die Frage hab ich es nicht verständlich beschrieben oder ist es so nicht machbar ??
Ich hoffe trotzdem noch weil ich nach über 2 Wochen mit rumprobieren einfach nicht hinbekomme, was auch daran liegt das ich nicht wirklich VBA kann
CodeTags gesetzt
aufgrund des Codeumfangs Spoiler hinzugefügt ~VaporiZed
ich bin neu hier und das ist mein erster Beitrag ! (bitte verzeiht mir Anfängerfehler)
Bin absoluter Anfänger und Bastel mir aus verschiedenen Beiträgen und Funden im Netz meine Lösungen zusammen , was ich meistens auch hinbekomme, diesmal aber nicht so ...
Folgende Ausgangs Situation:
ich habe eine Tabelle mit Namen, Vornamen, Adressen etc...
Im Userform1 habe ich zwei Listboxen (1 und 2) in der ersten lasse ich mir alle Einträge Anzeigen mit zwei Spalten (in der ersten Spalte eine Fortlaufende Nummer und in der zweiten den Nachnamen)
wenn man nun einen Eintrag anklickt werden bestimmte Spalteninhalte von Tabelle1 in 9 TextBoxen übertragen.. Das Funktioniert auch soweit ganz gut.
Nun ist die Kundenliste sehr groß mit über 30.000 Einträgen und ich habe mir eine Suchfunktion gebastelt in Form einer TextBox10 .
Wenn ich dort jetzt einen Vor oder Nachnamen suche oder auch nur Teile davon also nur den ersten Buchstaben Tippe dann Listet er mir alle Namen und Vornamen in der ListBox2 auf.... Das Funktioniert auch soweit..
Jetzt kommt aber mein Problem , sobald ich aber dort einen Eintrag in der ListBox2 auswähle sollte er nun auch bestimmte werte (namen, Vorname , Adresse.. etc) wieder in die TextBoxen 1-9 übertragen, was aber diesmal nicht passiert und ich hab keine Ahnung wo mein Fehler liegt ?????
Ich bin kein VBA Experte und hab wie gesagt sehr wenig Erfahrung mit VBA Programierung und hoffe nun auf diesem Wege das sich jemand erbarmt und mir aus der Patsche hilft ?
Hier mal meine Suchfunktion und der ListBox2 Inhalt:
Visual Basic-Quellcode
- Private Sub TextBox10_Change()
- Dim strSuche As String
- Dim lngLang As Long
- Dim i As Long
- Dim lZeile As Long
- strSuche = TextBox10.Value
- lngLang = Len(strSuche)
- If strSuche = "" Then Exit Sub
- 'Inhalt der Listbox2 löschen
- ListBox2.Clear
- 'Nur Daten aus Spalte A in Listbox eintragen, deren Anfang dem Suchbegriff entspricht; durch LCase wird Groß-/Kleinschreibung ignoriert
- For i = 2 To Tabelle1.Cells(Rows.Count, 1).End(xlUp).Row
- If Left(LCase(Worksheets("Tabelle1").Cells(i, 2)), lngLang) = LCase(strSuche) Or Left(LCase(Worksheets("Tabelle1").Cells(i, 3)), lngLang) = LCase(strSuche) Then ListBox2.AddItem Tabelle1.Cells(i, 2) & ", " & Worksheets("Tabelle1").Cells(i, 3)
- Next i
- End Sub
- ------------------------------------
- 'Klick auf die ListBox Ereignisroutine
- Private Sub ListBox2_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 = ""
- TextBox5 = ""
- TextBox6 = ""
- TextBox7 = ""
- TextBox8 = ""
- TextBox9 = ""
- '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 ersten Spalte in Tabelle 1 drin steht
- Do While Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) <> ""
- 'Wenn wir den Namen aus der ListBox2 in der Tabelle1 Spalte 3
- 'gefunden haben, übertragen wir die anderen Spalteninhalte
- 'in die TextBoxen!
- If ListBox2.Text = Trim(CStr(Tabelle1.Cells(lZeile, 1).Value)) Then
- 'TextBoxen füllen
- TextBox1 = Tabelle1.Cells(lZeile, 3).Value
- TextBox2 = Tabelle1.Cells(lZeile, 2).Value
- TextBox3 = Tabelle1.Cells(lZeile, 11).Value
- TextBox4 = Tabelle1.Cells(lZeile, 4).Value
- TextBox5 = Tabelle1.Cells(lZeile, 6).Value
- TextBox6 = Tabelle1.Cells(lZeile, 13).Value
- TextBox7 = Tabelle1.Cells(lZeile, 7).Value
- TextBox8 = Tabelle1.Cells(lZeile, 12).Value
- TextBox9 = Tabelle1.Cells(lZeile, 16).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
Vielen Dank schon mal im vorraus der sich die Zeit nimmt und mir versucht zu helfen !!!!
Schöne Grüße
Joe
Mhhh.. jetzt haben es sich ja schon einige angesehen aber geantwortet hat noch keiner
Für mich Anfänger stellt sich jetzt natürlich die Frage hab ich es nicht verständlich beschrieben oder ist es so nicht machbar ??
Ich hoffe trotzdem noch weil ich nach über 2 Wochen mit rumprobieren einfach nicht hinbekomme, was auch daran liegt das ich nicht wirklich VBA kann
CodeTags gesetzt
aufgrund des Codeumfangs Spoiler hinzugefügt ~VaporiZed
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „VaporiZed“ ()