jim84 Geschrieben 28. Juli 2009 Teilen Geschrieben 28. Juli 2009 Hallo, ich versuche mich gerade in vba excel und weiß nicht weiter. und zwar hab ich 3 von einander abhängige comboboxen , sprich ich muss in der ersten was auswählen, und kann dann erst in der zweiten box eine spezifischere auswahlt treffen usw.. und wenn ich in allen comboboxen was ausgewählt habe soll das program nach diesen begriffen suchen. sprich ich geb in der ersten box an ob ich männlich oder weiblich bin. in der zweiten meine größe und in der dritten t-shirt, hose oder bla und jetz soll das program aus zB einer excel tabelle alle passenden kleidungsstücke raussuchen. ist sowas möglich? wenn ich nur nach einer sache suche zB t-shirt kann ich ja eine globale suche machen und mir alles ausgeben lassen was den begriff t-shirt beinhaltet. aber bei mehren sachen über comboboxen weiß ich nicht weiter gruß jim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
streffin Geschrieben 29. Juli 2009 Teilen Geschrieben 29. Juli 2009 Für sowas würd ich bei gott keine Excel tabelle benutzen, das schreit förmlich nach ner richtigen Datenbank. Du kannst wenn du dir das antun willst auch ne excel tabelle benutzen, ja, machbar is das schon, aber ..... bah, mach sowas nich du. Mit ner Datenbank wär das mit nem simplen Query gegessen die sache. Aber um deine Frage zu beantworten : wenn ich nur nach einer sache suche zB t-shirt kann ich ja eine globale suche machen und mir alles ausgeben lassen was den begriff t-shirt beinhaltet. aber bei mehren sachen über comboboxen weiß ich nicht weiter Du verbindest einfach die selektierten einträge deiner comboboxen, und baust dir daraus nen string, nach dem du suchst. dim blablub as string = combobox1 & combobox2 & combobox3 aber wie gesagt, mach sowas nich mit excel, wirste nich glücklich mit Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
jim84 Geschrieben 31. Juli 2009 Autor Teilen Geschrieben 31. Juli 2009 Hmmm wie könnte man denn das alternativ lösen? sollte aber schon excel sein. das mit den combobox1 & comboxbox2 klappt leider nicht Private Sub CommandButton2_Click() Dim blatt As Worksheet Dim zelle As Range Dim suchstring As String suchstring = ComboBox1 & ComboBox2 For Each blatt In ActiveWorkbook.Worksheets For Each zelle In blatt.UsedRange.Cells If Not (IsError(Application.Find(LCase(suchstring), LCase(zelle.Text)))) Then blatt.Select zelle.Select Aerodynamik.Frame1.Caption = zelle.Text End If Next zelle Next blatt MsgBox "suche beendet" End Sub bis jetz markiert er nur die gefundenen einträge, wie bekomme ich die denn in eine listbox oder besser in so ein scrollbalken und eine frage noch.. wie bekomme ich ihn dazu das er nur auf eine bestimmte seite such nicht auf alles seiten Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
getCppKenntnisse() Geschrieben 5. August 2009 Teilen Geschrieben 5. August 2009 hi jim84, also wenn du etwas in eine listbox hineinbringen möchstest machst du das am besten so: UserForm1.ListBox1.AddItem(zelle) um nur auf einem blatt zu suchen solltest du einfach die For Schleife entfernen, welche alle Arbeitsblätter durchgeht. ich persönlich würde das was du vorhast so hier lösen: 1. Würde ich meine Sheets so einrichten, dass man z.B. ein Sheet "hosen" und ein Sheet "t-shirts" und was man auch immer noch haben möchte hat. Außerdem schreibe ich in die erste Zelle(also die A-Spalte) den namen der hose oder des t-shirts, z.b. Levy-Jeans blau, in die B-Spalte, schreibe ich dann männlich oder weiblich und in die C-Spalte die größen 2. wenn alle comboboxen ausgefüllt sind und man auf den suchen button klickt, würde ich mit Sheets(UserForm1.ComboBox_klamotte).Select in das entsprechende Arbeitsblatt wechseln (in der ComboBox_klamotte, wählt man natürlich aus was man haben möchte) danach führe ich die folgende suchfunktion aus: Cells.Find(What:="männlich", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate dann prüfst du ob in der(oder den zellen, je nachdem wie man die größen eingibt) zelle, rechts neben der aktiven zelle, die gewünscht größe steht, wenn ja kannst du:UserForm1.ListBox1.AddItem(Activecell.Offset(0,-1).Value) machen, wenn nein, dann suchst du mit Cells.FindNext(After:=ActiveCell).Activatenach dem nächsten treffer. Hoffe das hilft dir weiter mfg Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
jim84 Geschrieben 5. August 2009 Autor Teilen Geschrieben 5. August 2009 hey, cool vielen dank. klingt nach bissel rum tüfteln aber so könnte es gehen vielen dank! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.