Office: (Office 2010) Echtzeitsuche Combobox, Listbox,evtl. Textbox.. Hilfe

Helfe beim Thema Echtzeitsuche Combobox, Listbox,evtl. Textbox.. Hilfe in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo allerseits, ich habe hier folgendes Projekt und benötige etwas Start-bzw Verbesserungshilfe. Gegeben ist eine Tabelle mit Textbausteinen. Wenn... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Arian, 18. Mai 2015.

  1. Echtzeitsuche Combobox, Listbox,evtl. Textbox.. Hilfe


    Hallo allerseits,

    ich habe hier folgendes Projekt und benötige etwas Start-bzw Verbesserungshilfe.

    Gegeben ist eine Tabelle mit Textbausteinen. Wenn ich den Textbaustein Finder (UserForm2) starte, öffnet sich Userform1 mein eigentliches Programm. Nun möchte ich anhand der Comboboxen1-5 meine Suchbegriffe definieren bzw meine Suche festlegen. Dabei möchte ich, jedes mal wenn ich, in einer der ComboBoxen etwas auswähle (wie ein Filtersystem), schon alle Zeilen in der mein Suchbegriff (Bezug Tabelle1) auftaucht, in der ListBox (darf auch ein anderes Darstellungsfeld sein) dargestellt bekommen, und mit jeder weiteren Auswahl der anderen Comboxen meine Auswahl weiter beschränken.

    Ein Beispiel.:
    Ich wähle Bestellart "Be=Einzelbestellung" (Combobox1), direkt nach der Auswahl soll eine Suche ausgeöst werden und es sollen alle Zeilen in der ListBox, in denen der Suchbegrif "Be=Einzelbestellung" unter Spalte A gefunden wurde, angezeigt werden.
    Dann soll mit jeder weiteren Auswahl die Suche eingeschränkt werden.:
    Unter Warengruppe sage ich dann beispielweise "IT-Dienstleistung", jetzt sollen nur noch die jeweiligen Spalten (A+B+C) und die Spalten der Warengruppe, in diesem Fall "IT-Dienstleistungen (Spalte F+G+H+I) der gesamten Zeile(n) angezeigt werden.
    Danach eben die Beauftragungsart z.B: "Werkvertrag" (Spalte F+G) fallen weg, angezeigt wird noch noch Spalte A B C H I..
    Dann Basis AEB, wnen "Ja" Zeile anzeigen, wenn "Nein" und/oder "Leer", Zeile nicht anzeigen...
    Und zum Schluss Für Wen, "Für mich" Spalte A B C H anzeigen, wenn "für Fremde" Spalte A B C I anzeigen.
    Und nun eine kleine Besonderheit, wenn in Spalte F bis M "Ok", "nicht rel.", "nicht rel, weil besonders" steht, dann sollen nur Spalte A B C angezeigt werden, wenn aber ein Text drinne steht, in meinen Beispiel "Ich bin ein besonderer Text..." dann soll aus der Zeile nur noch A B und die Spalte mit den "besonderen Text" angezeigt werden.

    Puh, hoffe ich habe mich verständlich ausgedrückt.
    Was mir fehlt is die Suche, ich weiß nicht wie ich eine Echtzeitsuche unter VBA befehle und vlt einige Feinheiten.

    :)
     
    Arian, 18. Mai 2015
    #1
  2. Zudem würde ich gerne die UserForm2 nur in Tabelle1 anzeigen, in allen anderen Tabellenblättern soll diese ausgeblendet, versteckt werden!
     
    Arian, 20. Mai 2015
    #2
  3. Wenn ich nur einen Hinweis bekomme wie ich die Suche einleiten kann, wäre mir schon sehr geholfen.
     
    Arian, 21. Mai 2015
    #3
  4. Beverly
    Beverly Erfahrener User

    Echtzeitsuche Combobox, Listbox,evtl. Textbox.. Hilfe

    Hi Arian,

    aus der Anzahl der Klicks auf deinen Thread und die Anzahl der Antworten kannst du sicher ableiten, dass niemand so richtig klar kommt, was du eigentlich erreichen willst...

    Wie soll die Suche denn gestartet werden - hast du da schon eine Vorstellung? Man könnte z.B. das Doppelklick-Ereignis des Tabellenblattes (in einer bestimmten Zeile/Spalte/Zelle) oder das Activate-Ereignis des Tabellenblattes verwenden.


    Echtzeitsuche Combobox, Listbox,evtl. Textbox.. Hilfe grusz.gif
     
    Beverly, 21. Mai 2015
    #4
  5. Weil es etwas schwierig ist das so zu erläutern, dass es wirklich jeder versteht, habe ich ein Beispiel zu meinem Anliegen mitgegeben.
    Die Suche soll ausgelöst werden wenn man in einer der Comboboxen etwas auswählt. Jede Combobox enthält mehrere Datensätze, wähle ich nun eines dieser Datensätze in einer Combobox aus, so soll diese auswahl ohne einen weiteren Click oder eine andere Schaltfläche, die Suche auslösen.

    Klingt das iwie verständlich *wisper.gif ?

    Kleines Beispiel: Excel Datei öffnen, Klick auf Baustein Finder Starten (Userform2) -> Suchmaske (Userform1) öffnet sich -> Ich wähle Bestellart Be = Einzelbestellung (Combobox1)
    Erste Suche jetzt durch die Auswahl soll starten (in Tabelle1 Spalte A soll nach den begriff Be gesucht werden)
    Suchergebnis soll in Listbox1 (oder was anderes, bin offen für Vorschläge) angezeigt werden.
    Dann weiter mit Combobox2-3-4-5...
     
    Arian, 21. Mai 2015
    #5
  6. Hallo Arian,
    1. Du hast doch schon die Ereignisse ComboBox1_Change usw. Darin kannst Du die Suchfunktion starten.
    Code:
    Die Suchen Routine ist Public un d steht in einem Modul.
    2. "Ich wähle Bestellart "Be=Einzelbestellung" (Combobox1), direkt nach der Auswahl soll eine Suche ausgeöst werden und es sollen alle Zeilen in der ListBox, in denen der Suchbegrif "Be=Einzelbestellung" unter Spalte A gefunden wurde, angezeigt werden." Das kann nicht funktionieren weil die Einträge in Combobox 1 nicht in Spalte A der Tabelle1 stehen, dort stehen nur die Abkürzungen wie AB oder RV. Du mußt also entweder nur die Werte aus Spalte A in der COmbobox1 eintragen oder die Combobox hat 2 Spalten, eine mit dem langen Text and eine mit der Abkürzung.
    3. Einige Textbausteine stehen nicht in der Combobox weil der Kode das verhindert. Statt
    Code:
    einfach nur
    Code:
    4. Die Suchergebnisse enthalten (wenn ich es richtig verstehen) die Inhalte aus mehreren SPpalten der Tabelle 1. Dann muß die Listbox1 auch entsprechend viele Splaten haben.
    5. Bitte immer Option Explict verwenden.
    Gruss, Wilhelm1
     
    Wilhelm1, 21. Mai 2015
    #6
  7. OfficeUser Neuer User
    Hi Arian,

    mir ist noch nicht so richtig klar, WO, also in welchen Spalten denn in der Tabelle1 die Inhalte der ComboBoxen gesucht werden sollen. Die 1. ComboBox ist klar - das wäre Spalte A, aber die restlichen ComboBoxen kann ich irgendwie nicht zuordnen.



    Wenn du in Tabelle "Daten" die Begriffe ohne Leerzeile beginnend ab Zeile 2 fortlaufend auflistest, dann benötigst du keine Schleife, um die Daten in die ComboBoxen zu bekommen. Tabelle also so aufbauen:


    Daten
     ABCDE
    1BestellartWarengruppeBeauftragungsartBasis AEBFür Wen?
    2AB = AbrufbestellungIT DienstleistungWerkvertragJaFür mich
    3BE = EinzelbestellungBauleistungenDienstleistungsvertragNeinFür Fremde
    4FO = RahmenbestellungVeranstaltungen   
    5RV = Rahmenvertrag    
    6BE/NEU    
    7     
    Excel-Inn.de
    Hajo-Excel.de
    XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
    Add-In-Version 19.03 einschl. 64 Bit


    Und dieser Code füllt dann die ComboBoxen:


    Code:
    Echtzeitsuche Combobox, Listbox,evtl. Textbox.. Hilfe grusz.gif
     
    OfficeUser, 21. Mai 2015
    #7
  8. Echtzeitsuche Combobox, Listbox,evtl. Textbox.. Hilfe

    Tut mir leid, das ich hier einiges erschwere, irgenwie sind Erklärungen nicht so meine Stärke *frown.gif*

    Hab das mal in Bildern dargestellt was ich genau meine. Hoffe das erklärt meine Situation etwas besser..

    1
    Echtzeitsuche Combobox, Listbox,evtl. Textbox.. Hilfe [​IMG]
    2
    Echtzeitsuche Combobox, Listbox,evtl. Textbox.. Hilfe [​IMG]
    3
    Echtzeitsuche Combobox, Listbox,evtl. Textbox.. Hilfe [​IMG]


    4
    Echtzeitsuche Combobox, Listbox,evtl. Textbox.. Hilfe [​IMG]
    5
    Echtzeitsuche Combobox, Listbox,evtl. Textbox.. Hilfe [​IMG]
    6
    Echtzeitsuche Combobox, Listbox,evtl. Textbox.. Hilfe [​IMG]
     
    Arian, 21. Mai 2015
    #8
  9. 4. Die Suchergebnisse enthalten (wenn ich es richtig verstehen) die Inhalte aus mehreren SPpalten der Tabelle 1. Dann muß die Listbox1 auch entsprechend viele Splaten haben.
    5. Bitte immer Option Explict verwenden.
    Gruss, Wilhelm1

    Hi Wilhelm,

    danke für die Verfeinerung, das Füllen der Comboboxen funktioniert genauso wie es sein soll.
    Nun fehlt mir nur noch die Suche.


    Hi Beverly,

    danke für deine Mühe aber der Code hier, berücksichtigt nicht das "nicht Anzeigen" von leeren Zeilen:
    Kann man die Beriffe der Combobox am = Zeichen trennen und nur die Zeichen/Buchstaben davor in die Textbox übermitteln, somit wäre die Suche dann nur noch der Begriff aus der Textbox?
    Gruß
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    Arian, 21. Mai 2015
    #9
  10. Beverly
    Beverly Erfahrener User
    Richtig, ich hatte doch in meinem Beitrag bereits darauf hingewiesen, dass keine Leerzeilen zwischen den Begriffen vorkommen dürfen. Ich sehe nämlich auch überhaupt keinen Grund, weshalb du da Leerzeilen zwischen den einzelnen Begriffen haben musst, denn sie haben vom Prinzip her doch keinen Bezug zueinander.



    Echtzeitsuche Combobox, Listbox,evtl. Textbox.. Hilfe grusz.gif
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    Beverly, 21. Mai 2015
    #10
  11.  
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    Arian, 21. Mai 2015
    #11
  12. So, ich habe ein paar Feinheiten vorgenommen und die Begriffe eindeutiger und ohne Leerzeichen gestaltet. Zudem habe ich die Überschrifen in einzelne Zeilen gelegt und die Umbrüche rausgenommen.
    Die Suche läuft jetzt, ich muss diese nur noch etwas optimieren.
    Wählt man in in der Combobox1 etwas aus, wird ein Suchergebnis in die Listbox1 angezeigt. Leider nur eine Spalte, wie kann ich das so ändern das die ganze Zeile in der der Suchbegriff aus Combobox1 zutrifft angezeigt wird?
    Und eine Kleinigkeit, wenn ich in Combobox1 Be wähle, wird mir die Überschrifft, weil diese auch mit Be beginnt, ebenfalls ganz unten angezeigt. Kann man das irgendwie umgehen ohne die Überschrift zu ändern?

    Hier die Suche:

    Code:
    Für mehr Überblick siehe Anhang
    Besten Dank
     
    Arian, 22. Mai 2015
    #12
  13. Beverly
    Beverly Erfahrener User

    Echtzeitsuche Combobox, Listbox,evtl. Textbox.. Hilfe

    Wie viele und welche Spalten sollen in der ListBox dargestellt werden?

    Im Anhang mal die Beispielmappe für 2 Spalten: in den Eigenschaften der ListBox unter ColumnCount 2 eintragen und unter ColumnWidth 50 Pt;50 Pt.

    Du kannst das Change-Ereignis der ComboBox benutzen um die ListBox zu füllen - das Change-Ereignis der TextBox ist dazu nicht nötig.

    Den Code für das Füllen der ComboBoxen habe ich entsprechend Beitrag 21.05.2015, 19:40 geändert - das spart wesentlich Zeit, denn Schleifendurchläufe dauern (auch wenn sie kurz sind) und wenn das für mehrere ComboBoxen gemacht werden soll, dann gute Nacht und kein Bett... *wink.gif*




    Echtzeitsuche Combobox, Listbox,evtl. Textbox.. Hilfe grusz.gif
     
    Beverly, 22. Mai 2015
    #13
  14. Na gut, na gut ich fülle die Combobox so wie du es für richtig hälst. Hab aber noch die Referenzen ergänzt, um leere Zeilen auszublenden *wink.gif*
    Ehm nach Auswahl der ersten Combobox sollen wirklich alle Spalten der Tabelle1, die mit Inhalt versehen sind, angezeigt werden. In meinem Fall Spalten A-M.
    Ideal wäre wenn ich eine Möglichkeit offen hätte, einzelne Spalten bei Bedarf auszublenden. Leere Spalten sollen ebenfalls nicht angezeigt werden.
    Könntest du mir bitte diesen Code erklären, vlt mit Comments?
    Vieles davon verstehe ich noch nicht ganz, würde es aber gerne.

    Code:
     
    Arian, 22. Mai 2015
    #14
  15. Beverly
    Beverly Erfahrener User
    Von mir aus kannst du deine ComboBoxen auch mit einer Schleife füllen. Ich dachte nur es wäre günstiger, das Projekt in seiner Performance nicht einzuschränken, aber wenn du das nicht möchtetst - niemand zwingt dich dazu.

    Welche Referenzen gegen leere Zellen? Bei meinem Code werden auch ohne irgendwelche "Referenzen" nur die gefüllten Zeilen übernommen (wenn keine Leerzellen zwischendrin liegen).



    Das Problem bei deiner ListBox ist, dass du mehr als 10 Spalten benötigst und in dem Fall kann man die ListBox nicht mit AddItem füllen. Die Daten werden deshalb in ein Array geschreiben und das Array dann der ListBox-Liste zugewiesen. Hier der Code für ComboBox1 mit Kommentaren:

    Code:
    Echtzeitsuche Combobox, Listbox,evtl. Textbox.. Hilfe grusz.gif
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    Beverly, 22. Mai 2015
    #15
Thema:

Echtzeitsuche Combobox, Listbox,evtl. Textbox.. Hilfe

Die Seite wird geladen...
  1. Echtzeitsuche Combobox, Listbox,evtl. Textbox.. Hilfe - Similar Threads - Echtzeitsuche Combobox Listbox

  2. Auswahl über Combobox dann Werte kopieren

    in Microsoft Excel Hilfe
    Auswahl über Combobox dann Werte kopieren: Hallo in die Runde, Für euch VBA Profis ist die Lösung dieser Problematik nur ein Klacks, mir als Anfänger bringt es nur graue Haare. In der Tabelle Lager stehen in der Spalte A alle vorhandenen...
  3. Textbox aus Combobox nach Änderung befüllen

    in Microsoft Excel Hilfe
    Textbox aus Combobox nach Änderung befüllen: Hallo zusammen Ich habe ein Problem mit dem automatischen befüllen der Textbox. Sobald ich das von mir Fett markierte aktiviere, bekomme ich den Fehler "Die XLookup Eigenschaft des...
  4. Combobox immer wenigere Daten anzeigen

    in Microsoft Excel Hilfe
    Combobox immer wenigere Daten anzeigen: Hallo zusammen, ich bin's mal wieder. Folgende Problematik: ich befülle eine Combobox mit gefilterten Daten. (ZählerNr vom Vorjahr) z.B ZählerNr 1-10 Zählerstände zum 31.12.21 Wenn ich nun die...
  5. wert aus ComboBox prüfen dann hinzufügen

    in Microsoft Excel Hilfe
    wert aus ComboBox prüfen dann hinzufügen: Gutn Morgen zusammen, mit folgendem Code fülle ich meine ComboBox Private Sub UserForm_initialize() With ComboBox1 For Repeatings = 2 To...
  6. ComboBox zeigt Inhalt nicht mehr an

    in Microsoft Excel Hilfe
    ComboBox zeigt Inhalt nicht mehr an: Guten Morgen, nachdem ich gestern hier an anderer Stelle eine Frage eingestellt hatte, gab man mir den Tipp von der Verwendung mehrerer UserFormen Abstand zu nehmen. Das habe ich mir zu Herzen...
  7. Userform Textfeld füllen abhängig von Wert aus Combobox

    in Microsoft Excel Hilfe
    Userform Textfeld füllen abhängig von Wert aus Combobox: Hallo zusammen, weiter geht es mit Problemen. Ich Filter die Daten für die Combobox mit diesem Code Private Sub UserForm_Initialize() Dim tbl As ListObject Dim rng As Range Dim cell As Range Dim...
  8. ComboBox begrenzen

    in Microsoft Excel Hilfe
    ComboBox begrenzen: Guten Tag, Kurze Frage zu ComboBoxen. Wenn ich eine ComboBox mit "linkedCell": " Private Sub Worksheet_SelectionChange(ByVal Target As Range) ComboBox1.LinkedCell = ActiveCell.Address End Sub "...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden