Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
suchen und in Listbox anzeigen
28.09.2018 09:03:53
Olga
Hallo,
für meine Adressverwaltung habe ich mir die PLZ,Ort und Bundesland eine Tabelle angelegt.
Insgesamt sind dies 83368 Einträge
Wie kann ich am schnellsten die zugehörigen Orte nach Eingabe der PLZ finden?
Für die Schnelligkeit habe ich mir folgendes überlegt.
Nach Eingabe von 3 Zahlen wird nur der spezielle Bereich durchsucht.
Dies ist jedoch eine Menge Schreibarbeit.
Gibt es einen einfacheren Weg?
Danke!
Gruß, Olga
Private Sub txtPLZNr_suchen_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As  _
Integer)
Dim sSuche As String, sLaenge As String
Dim sI As Single, sI1 As String, sC As Single
Dim x1 As Long, x2 As Long
Dim wksSt As Object
Set wksSt = ThisWorkbook.Worksheets("Städte")
sI = 0
sSuche = txtPLZNr_suchen.Value
If sSuche = "" Or Len(sSuche) = 1 Then
lstPLZ.Clear
Label1.Caption = ""
Exit Sub
End If
If Len(sSuche)  0 Then
Label1.Caption = "Es wurden " & sI & " Einträge von 83368 Einträgen gefunden !"
Else
Label1.Caption = "Es wurde " & sI & " Eintrag von 83368 Einträgen gefunden !"
End If
End With
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: suchen und in Listbox anzeigen
28.09.2018 09:12:06
Daniel
Hi
Die Liste muss nach der PLZ aufsteigend sortiert sein.
Dann kannst du erste und letzte Zeile mit .Find oder Worsheetfunction.Match ermitteln und alle dazwischenliegenden Werte in die Listbox übernehen
Gruß Daniel
Gibt es einen einfacheren Weg? Ja. -> SVerweis owT
28.09.2018 09:13:34
Matthias
AW: Gibt es einen einfacheren Weg? Ja. -> SVerweis owT
28.09.2018 09:35:10
Olga
Hallo,
die PLZ sind aufsteigend sortiert.
Ich suche einen schnellen Weg ohne die ganzen Zeilen durchlaufen zu lassen.
Gruß,Olga
AW: suchen und in Listbox anzeigen
28.09.2018 09:46:38
Daniel
Hi
probier mal diesen Code.
die PLZ müssen ab Zeile 2 (Zeile 1 = Überschrift) und als Zahlenwert in Spalte 1 stehen
die Liste muss nach Spalte 1 aufsteigend sortiert sein:
Private Sub txtPLZNr_suchen_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As  _
Integer)
Dim Z1 As Long
Dim Z2 As Long
Dim PLZ1 As Long
Dim PLZ2 As Long
PLZ1 = Val(Left(txtPLZNr_suchen & "00000", 5)) - 1
PLZ2 = Val(Left(txtPLZNr_suchen & "99999", 5))
With ThisWorkbook.Sheets("Städte")
If PLZ1 

Gruß Daniel
Anzeige
AW: suchen und in Listbox anzeigen
28.09.2018 10:16:40
Olga
Hallo Daniel,
anbei ein Auszug aus meiner Tabelle.
Leider bin ich zu blöde Deine Lösung umzusetzen.
Die PLZ welche mit 0 beginnen gehen von Zeile 2 bis Zeile 7559
Die PLZ welche mit 1 beginnen gehen von Zeile 7560 bis Zeile 15312 usw.
Danke!
Gruß, Olga
https://www.herber.de/bbs/user/124272.xlsm
AW: suchen und in Listbox anzeigen
28.09.2018 10:30:55
Daniel
Hi
1. die Liste muss aufsteigend sortiert sein.
ggf nochmal die Sortierfunktion ausführen.
2. die Liste muss die PLZ als Zahlen enthalten. Wenn die PLZ Texte sind, geht's auch, dann muss man den Code etwas umschreiben.
Aber wie gesagt: ENTWEDER Zahlen ODER Text.
deine Liste enthält grad beides und das wird so nicht funktionieren.
Gruß Daniel
Anzeige
AW: suchen und in Listbox anzeigen
28.09.2018 10:41:38
Daniel
wenn du meinen Code anwenden willst, solltest du mit der Tabelle erst nochmal folgendes tun:
- mit Spalte A die Funktion DATEN - DATENTOOLS - TEXT IN SPALTEN ausführen. das Wandelt deine Texte in Zahlen
- die Liste nach Spalte A aufsteigend sortieren.
Gruß Daniel
AW: suchen und in Listbox anzeigen
28.09.2018 11:03:45
Olga
Hallo Daniel,
habe Deinen Vorschlag umgesetzt und es funktioniert.
Danke!
Gruß,Olga
AW: Listbox formatieren
28.09.2018 12:49:02
Olga
Hallo Daniel,
jetzt ist mir aufgefallen, dass die führende "Null" in der Listbox nicht angezeigt wird.
Alles funktioniert super, nur das eben nicht.
Danke!
Gruß,Olga
AW: Listbox formatieren
28.09.2018 12:57:22
Daniel
Hi
Formatiere die Spalte A mit dem Zahlenformat 00000 und ersetzte
lstPLZ.List = .Range(.Cells(Z1, 1), .Cells(Z2, 3)).Value
Durch
lstPLZ.Rowsource = "'" & .Name & "'!A:" & Z1 & ":C" & Z2
Gruß Daniel
Anzeige
PS: nur "'!A", ohne Doppelpunkt
28.09.2018 13:00:42
Daniel
AW: PS: nur "'!A", ohne Doppelpunkt
29.09.2018 01:23:37
Olga
Hallo Daniel,
Danke für Deine Mühe.
Es läuft tadellos.
Gruß, Olga

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige