Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1596to1600
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
VBA ComboBox filtern
26.12.2017 17:58:37
adcak
Hallo zusammen,
ich hoffe ihr könnt mir weiter helfen. Da ich nicht die guten VBA Kenntnisse besitze habe ich folgendes Problem.
Durch die ComboBoxen möchte ich meine Tabelle filtern und dem entsprechen eine Wagennr via BarcodeScanner zuordnen.
Meine Tabelle besteht aus mehreren Zeilen, aber auf dem Bild habe ich sie gekürzt.
Userbild
Meine ComboBoxen sind mit folgendem Code gefüllt.
Private Sub ComboBox1_Change()
Dim i As Long
Dim j As Long
Dim a As Long
ListBox1.Clear
a = Len(ComboBox1)
For i = 1 To ZZFFF3.UsedRange.Rows.Count
For j = 1 To Len(ZZFFF3.Cells(i, 2)) - a + 1
If UCase(Mid(ZZFFF3.Cells(i, 2), j, a)) = UCase(ComboBox1) Then
ListBox1.AddItem (ZZFFF3.Cells(i, 2))
Exit For
End If
Next j
Next i
Dim AAAZ As Long
If ComboBox1.Value  "" Then
AAAZ = CDbl(ZZFFF3.Range("B2:B5002").Cells.Find(What:=ComboBox1.Value, lookat:=xlWhole).Row)
End If
Exit Sub
ComboBox1.SetFocus
End Sub
Private Sub UserForm_Initialize()
ZZFFF3.Activate
With ZZFFF3
ComboBox1.RowSource = .Range(.Cells(2, 2), .Cells(.Cells(Rows.Count, 2).End(xlUp).Row, 2)). _
Address(External:=True)
End With
ZZFFF3.Activate
With ZZFFF3
ComboBox2.RowSource = .Range(.Cells(2, 3), .Cells(.Cells(Rows.Count, 3).End(xlUp).Row, 3)). _
Address(External:=True)
End With
ZZFFF3.Activate
With ZZFFF3
ComboBox3.RowSource = .Range(.Cells(2, 6), .Cells(.Cells(Rows.Count, 6).End(xlUp).Row, 6)). _
Address(External:=True)
End With
ZZFFF3.Activate
With ZZFFF3
ComboBox4.RowSource = .Range(.Cells(2, 8), .Cells(.Cells(Rows.Count, 8).End(xlUp).Row, 8)). _
Address(External:=True)
End With
End Sub
In ListBox bekomme ich nur eine Spalte zusehen. Ich möchte aber in Listbox die Spalten A-J sehen und mit ComboBoxen filtern.
Je nachdem was ich gefiltert habe werden am Ende 1, 2 oder 3 Zeilen angezeigt, die Zeilen möchte ich makieren und einen Wagennr mit Barcodescanner hinzufügen.
Am Ende möchte ich durch den klick "Speichern" ganz unten mit fortlaufendernr speichern.
ich hoffe ihr könnt mir weiterhelfen

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA ComboBox filtern
26.12.2017 21:50:30
Piet
Hallo
ich mache mal einen Versuch auf Grund eibes früheren Beispiels aus dem Herber Forum.
Bin mir aber nicht sicher ob es so klappt, und lasse vorsichthalber den Thread offen.
Sollte es weiterhelfen bitte den Thread schliessen, Haeckchen nicht mehr aktivieren!
mfg Piet
With UserForm1.ListBox1
For i = 1 To ZZFFF3.UsedRange.Rows.Count
For j = 1 To Len(ZZFFF3.Cells(i, 2)) - a + 1
If UCase(Mid(ZZFFF3.Cells(i, 2), j, a)) = UCase(ComboBox1) Then
.AddItem (ZZFFF3.Cells(i, 1))   'Spalte A kommt in Column 0
.list(.ListCount - 1, 1) = (ZZFFF3.Cells(i, 2)) 'Spalte B-J
.list(.ListCount - 1, 2) = (ZZFFF3.Cells(i, 3))
.list(.ListCount - 1, 3) = (ZZFFF3.Cells(i, 4))
.list(.ListCount - 1, 4) = (ZZFFF3.Cells(i, 5))
.list(.ListCount - 1, 5) = (ZZFFF3.Cells(i, 6))
.list(.ListCount - 1, 6) = (ZZFFF3.Cells(i, 7))
.list(.ListCount - 1, 7) = (ZZFFF3.Cells(i, 8))
.list(.ListCount - 1, 8) = (ZZFFF3.Cells(i, 9))
.list(.ListCount - 1, 9) = (ZZFFF3.Cells(i, 10))
Exit For
End If
Next j
Next i

Anzeige
AW: VBA ComboBox filtern
26.12.2017 21:56:40
Piet
Nachtrag
das Listenfeld natürlich muss in den Eigenschaften auf 10 Spalten gesetzt werden! Sonst klappt es nicht!
mfg Piet
AW: VBA ComboBox filtern
26.12.2017 22:46:43
adcak
Vielen Dank erstmal für Ihre Lösung.
Durch den Code werden alle Daten in Listbox aufgelistet, aber ich möchte die Daten durch den Auswahl von ComboBox filtern.
zB. wenn ich in ComboBox1 "Bezeichnung" (22C) rein schreibe soll er mir alles auflisten wo 22c auftaucht.
Und wenn ich in ComboBox2 "Artikelname" (An) rein schreibe soll er mir in dem Beispiel nur die 2. Zeile anzeigen.
Da meine Tabelle sehr groß ist kommen ComboBox 3 und 4 noch hinzu vom Prinzip her möchte ich meine liste mit Comboboxen filten.
Anzeige
AW: VBA ComboBox filtern
27.12.2017 10:14:56
Piet
Hallo adcak
waere es möglich eine kleine Beispieldatei mit 20-40 anonymen Daten zu erstellen wo die UserForm im Original enthalten ist. Die Daten können Fantasiedaten sein. Es ist schneller und einfacher ein funktionierendes Makro zu entwickeln an Hand einer Beispieldatei wo ich auch die Original Tabellen Namen, Spalten und Zeilen sehen kann. am besten mit Beschreibung einer Lösung von Hand. Makros sind bei solchen Projekten immer genau auf den konkretn Fall erstellt! Das nur per Text besprechen bringt nicht viel.
Ich müsste die Datei selbst nachbauen, das ist mir zuviel Arbeit, und mit zuviel Fehlern und unnötigen Rückfragen verbunden.
mfg Piet
Anzeige
AW: offenstellen vergessen ...oWt
27.12.2017 10:17:13
Piet
...
AW: VBA ComboBox filtern
28.12.2017 08:24:45
Piet
Hallo adcak
habe die Beispieldatei geladen, ist aber mehr Arbeit als ich dachte.
Bitte Geduld, melde mich wieder wenn ich fertig bin, oder Fragen habe ...
mfg Piet
AW: VBA ComboBox filtern
29.12.2017 15:21:58
Piet
Hallo adcak
anbei deine Beispieldatei zurück. Die Useerform habe ich etwas geaendert, eine neue TextBox zum Suchen eingefügt.
Die Makros wurden von mir alle komplett überarbeitet. Es war aber soviel Arbeit das ich nicht garantieren kann das alles auf Anhieb funktioniert. Bitte in Ruhe prüfen. Am besten die Daten aus deiner Original Datei ins Beispiel kopieren und zuerst im Beispiel ausgiebig testen. Da kann man nicht versehentlich Original Daten kaputt machen!! - Sicher ist sicher ....
Ich habe eine Hilfstabelle eingefügt, kopiere mir die Originaldaten rüber, sortiere sie, und lösche alle Duplikate für die vier ComboBoxen. Dann hat man nur noch Unikate in jeder ComboBox!! Wenn es sehr viele Daten sind könnte das kopieren zu lange daauern. Dann muss man sie nur kopieren wenn neue Daten dazu gekommen sind. Schauen wir mal wie es laeuft? Das lasst sich ggf. noch verbessern.
Wichtig ist mir das du erst mal die Funktion der ComboBoxen so testest wie es funktionieren soll.
Zum Suchen kannst du die neue TextBox nehmen, ich suche auch nach Teilwerten. z.B. "519". - Dann holt der Code alle Datensaetze hoch in denen 519 vorkommt, egal an welcher Stelle es steht!!
Speichern und löschen müsste ich auch fertig erstellt haben. Es war aber soviel das ich nicht mehr genau alles erledigt ist?
(Die Daten habe ich mit CStr() in die TextBoxen geladen, bei einigen Daten bekam ich Laufzeifeher!!)
Na ja, test es mal, dann sehen wir wie gut meine Ideen waren .... - In diesem Sinne ein frohes neus Jahr!!
mfg Piet
https://www.herber.de/bbs/user/118571.xlsm
Anzeige
AW: VBA ComboBox filtern
30.12.2017 06:00:23
Hajo_Zi
Hallo Piet,
lasse den Fragesteller entscheiden ob offen.
Es ist Heute nicht mehr üblich eine Rückmeldung zu geben und so ist der Beitrag über 6 Tage offen.

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Also ich schreibe keine Beiträge mit dem Betreff "Gerne u. Danke für die Rückmeldung. o.w.T."
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben,
mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Beiträge von Werner, Luc, robert und folgende lese ich nicht.
Anzeige
AW: VBA ComboBox filtern
30.12.2017 12:08:15
adcak
Hallo Piet,
vielen Dank erstmal für deine große arbeit und Bemühungen. Leider klappt es immer noch nicht wie ich es haben möchte. Wollte nur einfaches Suchen für jede Spalte und aufgelistet bekommen in Listbox.
Es muss nicht unbedingt ComboBox sein kann auch Textfeld sein.
Habe mein Excel bisschen umgeändert und habe neue Fragen. Ich fasse mal gleich ein neuen Beitrag.
schöne Grüße
adcak

25 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige