Hallo Community,
ich arbeite gerade an einer Userform und komme nicht weiter.
Ich würde gerne eine Listbox mit Daten aus einer ActiveSheet füllen.
Und zwar befindet sich in der Form eine Textbox5 mit einer Kundennummer.
In der Activesheet soll in der Spalte B nach dieser Kundennummer (Textbox5.value) gesucht werden und den Wert aus Spalte E (aus der selben row) in die Listbox eingetragen werden.
Es können mehrere Zeilen vorhanden sein.
Ich weiß irgendwie nicht wie ich das anstellen soll :(
Vielen Dank im Voraus und viele Grüße
Steve
Hallo
im Internet findest du dazu dutzende fertige Beispiel wie man eine Listbox befüllt.
Du musst sie nur ein bisschen umschreiben auf deine Tabelle und deine Spalten.
mfg Gast 123
Schau auch mal hier und bei anderen Foren im Archiv zum Thema "ListBox über Textbox füllen" nach. Da könnte es fertige Makros geben.
Hallo Gast 123,
besten Dank. Ich habe auch vieles dazu gefunden. Allerdings nicht den Code der mir nach einem Suchwort (Textbox5.value) sucht.
Hi,
zeig mal Deine (Beispiel-)datei. Möglicherweise sind die Werte in der Suchmatrix Zahlen und kein Text.
Hallo Steve,
braucht es unbedingt ActiveSheet. Dient das Ding nur zum Filtern, oder möchtest Du in der Listbox Zeilen anklicken und in Texboxen ausgeben. Sollen dann Daten darin bearbeitet, gespeichert oder gelöscht werden?
Ich frage deshalb, weil via ActiveSheet u. U. auch unterschiedliche Anzahl von benötigten Spalten in Frage kämen.
Gruß Uwe
Guten Morgen Egon,
in der Activesheet befinden sich Bauteile. Alle Bauteile haben eine eigene Bauteil-Nr. und eine dazugehörige Projekt-Nr.
Die Projekt-Nr. befindet sich in der Userform (Textbox5) und soll in der Spalte B der aktiven Tabelle gesucht und aus den jeweils gefundenen rows die Bauteil-Nr. (Spalte E) in die Listbox gefüllt werden.
Es benötigt nicht unbedingt activesheet. Ich befinde mich beim öffnen der Userform halt dann eben in der Sheet "Bauteile".
VG Steve
Moin!
Warum filterst Du die Tabelle Bauteile nicht einfach nach Projektnummer?
Fragt sich Ralf
Hallo Ralf,
weil sich das alles in der Userform "abspielen" soll. Zeitgleich arbeiten auch weitere Personen mit der Tabelle. Ein Filtern wäre dann wohl nicht die richtige Wahl. (glaube ich)
In meinem Laien Kopf habe ich auch den Code...aber ich bekomme ihn nicht auf Papier.
Suche reihe für reihe in Spalte B nach Textbox5.value bei Treffer merke ReiheNr. und füge Inhalt aus der gefundenen Reihe, Spalte E in die Combobox
next
Code:
With Worksheets("Bauteile")
ReiheNr = 2
With ComboBox1
Do While IsEmpty(Cells(ReiheNr, 1)) = False
.AddItem Cells(ReiheNr, 5)
ReiheNr = ReiheNr + 1
Ich bekomme es aber nicht hin wo ich die Suche da noch mit einbinden kann.
Warum nur habe ich exakt diese Antwort erwartet?
Warum traut man den Benutzern nicht eine der simpelsten Funktionalitäten in Excel zu?
Warum nimmt man statt dessen ein Userform?
Schließlich hat man überall dort erst mal ausschließlich Text, der konvertiert werden muss?
Warum nutzt Du nicht einfach die in Deiner Version vorhandene Funktion FILTER()?
Dies in einem aufgehübschten Formular-Tabellenblatt!
| A | B | C | D | E |
1 | Bauteil | Projekt | | | |
2 | 1 | 5 | | Projekt | 6 |
3 | 2 | 6 | | Bauteile | 2 |
4 | 3 | 6 | | | 3 |
5 | 4 | 6 | | | 4 |
6 | 5 | 5 | | | 6 |
7 | 6 | 6 | | | 8 |
8 | 7 | 5 | | | |
9 | 8 | 6 | | | |
10 | 9 | 5 | | | |
11 | | | | | |
Zelle | Formel |
E3 | =FILTER(A:A;B:B=E2) |
Gruß Ralf
Hallo,
Zitat:Zeitgleich arbeiten auch weitere Personen mit der Tabelle.
Excel ist für einen Mehrbenutzereinsatz nur sehr bedingt geeignet, eher gar nicht.