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

Suchfunktion über Comboboxen filtern und Listbox

Suchfunktion über Comboboxen filtern und Listbox
26.01.2018 04:12:34
Sebi
Hey Ihr Lieben,
ich kann nur hoffen, dass jemand von euch Profis die Zeit und Lust hat, sich in mein Anliegen reinzudenken, und mir damit ein riesiges Geschenk machen würde. Stehe ehrlich gesagt kuz vorm Nervenzusammenbruch.
Bin aber auch totale Anfängerin.
Irgednwie kann ich allerdings meine Datei nicht hochgeladen für den Fall, dass mir jemand helfen möchte, würde ich sie gerne per E-Mail verschicken oder vielleicht hat jemand eine Idee wie ich sie sonst verlinken könnte.
Mein wichtigstes Anliegen ist die
Userform 3:
- über einen Button wird die Userform3 direkt geöffnet, welche zur reinen Suche und Ändern von Daten dienen soll.
Darin enthalten sind:
5 Textboxen
3 Comboboxen
1 Listbox
- Die Suchfunktion über die ersten beiden Textboxen "Zeilen-Nr."-Eingabe und "LV-Nr." -Eingabe funktioniert soweit. Die Daten werden in fast alle Boxen ausgelesen und ändern kann ich sie soweit auch.
Ich würde nun gerne über die Combobox1 (Fabrikat), Combobox2 (Kategorie) und Combobox3 (Gewerk) und Textbox3 eine weitere Suchfunktion einbauen.
Das heisst, wenn ich eine bestimmte Kategorie in der Combobox2 wähle, sollen alle anderen Boxen weiter gefiltert werden auf alle Zeilen, welche der jeweiligen Kategorie (aus der Combobox2 beispw.) zugeordnet ist. Diese Funktion soll auch im umgekehrten Fall bei allen anderen Boxen funktionieren. Ich würde dann gerne über die anderen Comboxen die Suchfunktion weiter einschränken können.
Also im Prinzip soll es ähnlich funktionieren wie die Autofilter-Funktion im Arbeitsblatt "Kalkulation".
Sobald die erste Suchfunktion über eine Combobox aktiviert wird, sollen alle Zeilen welcher der jeweiligen Auswahl der Combox zugeordnet sind, in der Listbox angezeigt werden.
Die Listbox soll aktualisiert werden, sobald die Suchfunktion weiter eingeschränkt wird. In die Listbox sollen nur die Spalten F und G ab Zeile 5 bis Tabellenende aus dem Worksheet "Kalkulation" ausgelesen werden.
Dann würde ich gerne über die Textbox3 auch durch Eingabe von Teilbegriffen (Suche in Spalte G, Zeile je nach Länge der Tabelle) eine entsprechende Auswahlmöglichkeit in die Listbox bekommen, auch wieder genauso wie bei dem Autofilter im Arbeitsblatt
Über die Listbox soll dann der gewünschte Artikel gewählt werden. Die Auswahl aus der Listbox soll dann in allen anderen Boxen wiederum ausgelesen bzw. angezeigt werden.
Ein weiterer Wunsch betrifft das Auslesen der Textbox 9. Hier soll der Preis ausgelesen werden, an dem der Eintrag aus Spalte D mit dem jeweiligen Lieferanten aus den verbunden Zeilen 1 + 2 übereinstimmen.
Also sprich: In Zeile 5 steht in Spalte D der Eintrag "B". Dieser Eintrag stimmt überein mit dem Lieferanten "B" aus Spalte "P1-U2" (Verbundene Zellen). In dem Fall soll der EK-Preis aus der jeweiligen Zeile ("S5") ausgelesen werden.
Wenn in Zeile D6 der Eintrag "A" steht und dieser übereinstimmt mit Lieferant "A" aus Spalte "J1-O2" (auch wieder verbundene Zellen), soll der Wert aus Zelle M6 ausgelesen werden.
In der Textbox6 soll der günstigste Preis aus allen erfassten Einträgen der jeweils ausgewählten Zeile ermittelt und entsprechend ausgelesen werden.
Und eine Frage hätte ich dann noch:
Ist es möglich dass eine MSG-Box angezeigt wird, sofern der gewünschte Eintrag über die Suche LV-Nr und Zeilen-Nr. (Textbox 1 und Textbox2) nicht gefunden wird?
Ich glaube das alles ist mega kompliziert. Habe alles mögliche versucht. Bekomme es absolut nicht hin. Würde gerne meine Datei bereitstellen aber weiss momentan nicht wie.
Ich wüsste nicht wie ich danken könnte, wenn mir jemand hierbei helfen könnte.
Dies ist mein bisheriger Code aus der Userform 3
'Sucheingabe nach Zeilen-Nr.
Private Sub TextBox1_Change()
Dim varTMP As Variant
On Error GoTo Fin
If Not Trim(TextBox1.Text) = "" Then
With Tabelle2
varTMP = Application.Match(CLng(TextBox1.Text), .Range("A:A"), 0)
If Not IsError(varTMP) Then
Me.Tag = varTMP
TextBox2.Text = .Cells(varTMP, 6).Value
TextBox3.Text = .Cells(varTMP, 7).Value
TextBox6.Text = .Cells(varTMP, 10).Value
ComboBox2.Text = .Cells(varTMP, 5).Value
'TextBox9.Text = Right(Sheets(2).Cells(varTMP, 9).Text, 15)
TextBox11.Text = .Cells(varTMP, 4).Value
ComboBox1.Text = .Cells(varTMP, 3).Value
ComboBox3.Text = .Cells(varTMP, 2).Value
Else
Me.Tag = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox6.Text = ""
ComboBox2.Text = ""
'TextBox9.Text = ""
TextBox11.Text = ""
ComboBox1.Text = ""
ComboBox3.Text = ""
End If
End With
Else
TextBox2.Text = ""
TextBox3.Text = ""
TextBox6.Text = ""
ComboBox2.Text = ""
'TextBox9.Text = ""
TextBox11.Text = ""
ComboBox1.Text = ""
ComboBox3.Text = ""
End If
Fin:
If Err.Number  0 Then MsgBox "Error: " & _
Err.Number & " " & Err.Description
End Sub
'Sucheingabe nach LV-Nr.:
Private Sub TextBox2_Change()
Dim varTMP As Variant
On Error GoTo Fin
If Not Trim(TextBox2.Text) = "" Then
With Tabelle2
varTMP = Application.Match(TextBox2.Text, .Range("F:F"), 0)
If Not IsError(varTMP) Then
Me.Tag = varTMP
TextBox1.Text = .Cells(varTMP, 1).Value
TextBox3.Text = .Cells(varTMP, 7).Value
TextBox6.Text = .Cells(varTMP, 10).Value
ComboBox2.Text = .Cells(varTMP, 5).Value
'TextBox9.Text = Right(Sheets(2).Cells(varTMP, 9).Text, 15)
TextBox11.Text = .Cells(varTMP, 4).Value
ComboBox1.Text = .Cells(varTMP, 3).Value
ComboBox3.Text = .Cells(varTMP, 2).Value
Else
Me.Tag = ""
TextBox1.Text = ""
TextBox3.Text = ""
TextBox6.Text = ""
ComboBox2.Text = ""
'TextBox9.Text = ""
TextBox11.Text = ""
ComboBox1.Text = ""
ComboBox3.Text = ""
End If
End With
Else
TextBox1.Text = ""
TextBox3.Text = ""
TextBox6.Text = ""
ComboBox2.Text = ""
'TextBox9.Text = ""
TextBox11.Text = ""
ComboBox1.Text = ""
ComboBox3.Text = ""
End If
Fin:
If Err.Number  0 Then MsgBox "Error: " & _
Err.Number & " " & Err.Description
End Sub

'Eingaben / Änderungen speichern
Private Sub CommandButton1_Click()
Dim lngRow As Long
On Error GoTo Fin
If Trim(TextBox1.Text)  "" And Trim(TextBox2.Text)  "" Then
If Me.Tag  "" Then
With Tabelle2
.Cells(Me.Tag, 1).Value = CLng(TextBox1.Text)
.Cells(Me.Tag, 6).Value = TextBox2.Text
.Cells(Me.Tag, 7).Value = TextBox3.Text
'.Cells(Me.Tag, 10).Value = TextBox6.Text
.Cells(Me.Tag, 5).Value = ComboBox2.Text
'.Cells(Me.Tag, 9).Value = CCur(TextBox9.Text)
.Cells(Me.Tag, 4).Value = TextBox11.Text
.Cells(Me.Tag, 3).Value = ComboBox1.Text
.Cells(Me.Tag, 2).Value = ComboBox3.Text
End With
Else
With Tabelle2
lngRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Cells(lngRow, 1) = CLng(TextBox1.Text)
.Cells(lngRow, 6) = TextBox2.Text
.Cells(lngRow, 7) = TextBox3.Text
'.Cells(lngRow, 10) = TextBox6.Text
.Cells(lngRow, 5) = ComboBox2.Text
'.Cells(lngRow, 9) = CCur(TextBox9.Text)
.Cells(lngRow, 4) = TextBox11.Text
.Cells(lngRow, 3) = ComboBox1.Text
.Cells(lngRow, 2) = ComboBox3.Text
End With
End If
TextBox1.Text = ""
TextBox2.SetFocus
Else
MsgBox ("Keine Eingabe!"), vbExclamation, _
"   Keine Eingabe."
TextBox1.SetFocus
End If
Fin:
If Err.Number  0 Then MsgBox "Error: " & _
Err.Number & " " & Err.Description
End Sub

Ich hätte noch soviele Fragen aber ich traue mich nicht weiter, weil das hier schon genug Text ist. Ich kann nur hoffen, dass mir jemand in dieser Sache helfen kann.
Ganz liebe Grüße
Sebi

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchfunktion über Comboboxen filtern und Listbox
26.01.2018 07:20:23
fcs
Hallo Sebi,
zur Suchfunktion über Comboboxen hab ich was in meinem Fundus- muss natürlich angepasst werden.
Auch zur Suche via Textboxeingabe hab ich was.
Den Rest müste ih mir genauer ansehen.
Generell sollte man die Steuerelemente mit den Sucheingaben möglichst nicht für die Anzeige von Infos benutzen. Das macht die Programmierung unnötig kompliziert, da die Ereignismakros der Such-Elemente speziell angepasst werden müssen..
Für die Anzeige immer separate Steuerelemente (z.B.Textboxen) verwenden.
Meine E-Mail-Adresse findest du, wenn du auf das kleine Symbol neben meinem Usernamen klickst.
Gruß
Franz
Anzeige
AW: Suchfunktion über Comboboxen filtern und Listbox
26.01.2018 12:50:18
Sebi
Hallo Franz,
ersteinmal ein riesen großes Dankeschön für deine Antwort.
Einfach toll, dass du dir die Zeit genommen hast meinen halben Roman zu lesen.
Bin neu in dem Forum und suche nun schon eine Weile das Symbol wo ich deine Mail-Adresse finden kann und die Vorlage aus deinem Fundus. Würde es mir sehr gerne anschauen.
Kannst du mir sagen wie und wo ich fündig werde?
Viele Grüße
Sebi
AW: Suchfunktion über Comboboxen filtern und Listbox
26.01.2018 13:59:36
fcs
Hallo Sebi,
hier der Link zu einer Datei im Forum in der ich eine entsprechende Suche via Comboboxen/Listbox eingebaut hatte.
https://www.herber.de/bbs/user/118663.xlsm
Bei der Info zur E-Mail-Adresse hatte ich mich verschrieben.
In der Liste der Beiträge ist bei meinen Antworten links ein kleines Symbol.
Wenn du darauf Klicks wird mein Profil angezeigt - u.a. mit meiner E-Mail-Adresse.
Ansonsten: fcs#alz?arcor#de
# durch Punkt ersetzen
? durch @ ersetzen
Gruß
Franz
Anzeige
AW: Suchfunktion über Comboboxen filtern und Listbox
26.01.2018 14:23:13
Sebi
Hey Franz,
einfach klasse. Werde mich einmal in deine Datei einlesen und schauen wie weit ich komme. Sende dir dann auch noch meine Datei per Mail.
:-) Ganz viele Grüße
Sebi

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige