Registriert seit: 10.12.2020
Version(en): 365
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
Registriert seit: 12.03.2016
Version(en): Excel 2003
20.10.2021, 16:18
(Dieser Beitrag wurde zuletzt bearbeitet: 20.10.2021, 16:20 von Gast 123.)
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.
Registriert seit: 10.12.2020
Version(en): 365
Hallo Gast 123,
besten Dank. Ich habe auch vieles dazu gefunden. Allerdings nicht den Code der mir nach einem Suchwort (Textbox5.value) sucht.
Registriert seit: 04.11.2014
Version(en): Office 365 Beta
Hi,
zeig mal Deine (Beispiel-)datei. Möglicherweise sind die Werte in der Suchmatrix Zahlen und kein Text.
Registriert seit: 16.08.2020
Version(en): 2019 64bit
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
Registriert seit: 10.12.2020
Version(en): 365
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
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Moin!
Warum filterst Du die Tabelle Bauteile nicht einfach nach Projektnummer?
Fragt sich Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 10.12.2020
Version(en): 365
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.
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo,
Zitat:Zeitgleich arbeiten auch weitere Personen mit der Tabelle.
Excel ist für einen Mehrbenutzereinsatz nur sehr bedingt geeignet, eher gar nicht.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden