Clever-Excel-Forum

Normale Version: Liste in Userform anzeigen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
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
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!
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
Hi,

anbei was mit System.Collections.Arraylist
[attachment=20751]
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!
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???
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
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.
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
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
Seiten: 1 2