Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Liste in Userform anzeigen
#1
Hallo!

Ich habe in Spalte "Q" Wörter stehen, die ich gerne in einer UserForm auswählen will. Super wäre es, wenn die Wörter auch noch alphabetisch von A - Z angezeigt werden, denn in Spalte "Q" sind sie immer nicht sortiert.
Vorerst lautet einmal mein Code:

Code:
Private Sub ListBox1_Click()

End Sub
Ich hoffe, dass mir jemand helfen kann.
LG
Synology DS416play (1 Seagate IronWolf ST8000VN0022) + DVBLogic TVButler DVB-C/T/T2 (100tc) Stick, Synology RT1900AC Router, Samsung UE60F6370 + UE50ES5700 + UE48H6470, Panasonic TX-L32E5E + TX-24CSW504, Windows 10 PC, Samsung Galaxy Tab S2, Samsung Galaxy S8+
Antwortento top
#2
hallo!

Das ist recht wenig! Bitte fertige eine Beispieldatei an um die Struktur der Tabelle und den Aufbau erkennen zu können mit deiner Userform!
Eine Menge reden, aber nichts sagen können viele...
Antwortento top
#3
Anbei ein Beispiel. Geplant ist dann in einer weiteren Ausbauphase, dass wenn ich in der Drop Down Liste etwas ausgewählt habe, dass sich das UserForm schließt und sich eine MessageBox öffnet und folgendes angezeigt wird:

- Das vorhin ausgewählte Element aus der Liste, z.B. Meinungsstudie
- daneben soll die Zahl 3 (aus der Zelle P) stehen


Angehängte Dateien
.xls   KopiePuU.xls (Größe: 292,5 KB / Downloads: 5)
Synology DS416play (1 Seagate IronWolf ST8000VN0022) + DVBLogic TVButler DVB-C/T/T2 (100tc) Stick, Synology RT1900AC Router, Samsung UE60F6370 + UE50ES5700 + UE48H6470, Panasonic TX-L32E5E + TX-24CSW504, Windows 10 PC, Samsung Galaxy Tab S2, Samsung Galaxy S8+
Antwortento top
#4
Hi,

anbei was mit System.Collections.Arraylist

.xlsb   sortierte_Listbox.xlsb (Größe: 19,67 KB / Downloads: 4)
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Antwortento top
#5
Bevor hier etwas geht muss das Ganze in eine vernünftige Form! Du brauchst eine Bessere Struktur! Der rechte Datenbereich lässt sich so nicht fassen und auswerten!
Eine Menge reden, aber nichts sagen können viele...
Antwortento top
#6
Wäre es ok, wenn die Spalte sortiert würde? Falls ja, ginge das so:
Code:
Private Sub UserForm_Activate()
Dim letzte As Long
letzte = Cells(Rows.Count, "Q").End(xlUp).Row

   ActiveWorkbook.Worksheets("Top30").Sort.SortFields.Clear
   ActiveWorkbook.Worksheets("Top30").Sort.SortFields.Add Key:=Range("Q6:Q" & letzte) _
       , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
   With ActiveWorkbook.Worksheets("Top30").Sort
       .SetRange Range("P6:T" & letzte)
       .Header = xlGuess
       .MatchCase = False
       .Orientation = xlTopToBottom
       .SortMethod = xlPinYin
       .Apply
   End With
ListBox1.List = Sheets("Top30").Range("Q6:Q" & letzte).Value

End Sub


Aber um Himmels willen, schmeiß doch die ganzen Module raus. Wozu brauchst du 60 Module???
Schöne Grüße
Berni
[-] Folgende(r) 1 Benutzer sagt Danke an MisterBurns für diesen Beitrag:
  • Frogger1986
Antwortento top
#7
Hallo MisterBurns!

Danke sehr für die schnelle Antwort und den Code, schaut schon sehr gut aus. Meine Frage wäre nun, geht das nun auch als Drop Down Feld zum Auswählen, oder geht das nicht?
Des weiteren bräuchte ich dann, nachdem ich was ausgewählt habe, dass sich eine MessagBox öffnet und in dieser soll dann folgendes angezeigt werden:

- was ich gerade ausgewählt habe
- der Wert links daneben von Spalte P
Synology DS416play (1 Seagate IronWolf ST8000VN0022) + DVBLogic TVButler DVB-C/T/T2 (100tc) Stick, Synology RT1900AC Router, Samsung UE60F6370 + UE50ES5700 + UE48H6470, Panasonic TX-L32E5E + TX-24CSW504, Windows 10 PC, Samsung Galaxy Tab S2, Samsung Galaxy S8+
Antwortento top
#8
Gehen tut vieles. Aber wieso schreibst du dann vorher von einer Listbox und nicht sofort, dass du ein Dropdown willst? Und wieso rückst du mit der Info für die Messagebox auch erst jetzt raus? Ich habe nämlich keine Lust auf Salamitaktik. Daher sage jetzt, was du dir konkret noch so alles vorstellst.
Schöne Grüße
Berni
Antwortento top
#9
Tut mir leid, Listbox war ein Fehler von mir. Ich dachte, dass es sich hier um eine Drop Down Liste handelt, aber anscheinend tut es das nicht. Das mit der Messagebox habe ich als Ergänzung um 10:04 geschrieben, dass ich dann auch noch haben will.
Sonst brauche ich nichts. Wäre super, wenn du mir noch einmal helfen könntest.

LG

Thomas
Synology DS416play (1 Seagate IronWolf ST8000VN0022) + DVBLogic TVButler DVB-C/T/T2 (100tc) Stick, Synology RT1900AC Router, Samsung UE60F6370 + UE50ES5700 + UE48H6470, Panasonic TX-L32E5E + TX-24CSW504, Windows 10 PC, Samsung Galaxy Tab S2, Samsung Galaxy S8+
Antwortento top
#10
Alles klar. Dann erstelle auf deiner Userform ein Dropdownfeld. Dieses wird standardmäßig "ComboBox1" heißen, von diesem Namen gehe ich jetzt aus.
Ersetze die Zeile
Code:
ListBox1.List = Sheets("Top30").Range("Q6:Q" & letzte).Value
durch
Code:
ComboBox1.List = Sheets("Top30").Range("Q6:Q" & letzte).Value

Zusätzlich noch diese Prozedur einfügen (direkt unter der vorherigen Prozedur)
Code:
Private Sub ComboBox1_Change()
Dim Suche As Range

Set Suche = Columns("Q").Find(what:=ComboBox1.Value, lookat:=xlWhole)
MsgBox "Ausgewählter Wert ist " & ComboBox1.Value & " " & Cells(Suche.Row, "P")
End Sub
Schöne Grüße
Berni
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste