Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1420to1424
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Dropdown nicht mit allen Werten befüllen
20.04.2015 16:12:36
Ronny
Hallo zusammen. Ich habe in einer Liste in der Spalte K ein Datum. Das Datum ändert etwa nach 100 bis 400 Zeilen. Ist also immer anders. Die Daten kommen aus einer anderen Excel-Datei und werden per Makro importiert. Nun habe ich mir ins Feld O2 eines der Datum reingeschrieben damit ich per Makro alle Zeile die nicht diese Datum haben, löschen kann. Jetzt möchte ich das ich die verschiedenen Datum per DropDown in eine Userform auswählen kann.
Wie kann ich das DropDown so befüllen das von der Liste nicht jede Zeile abgefüllt wird sondern jede vorhandene Datum nur einmal.
Ist das verständlich was ich möchte und es das so irgendwie möglich?

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dropdown nicht mit allen Werten befüllen
20.04.2015 17:58:33
Klexy
Mach eine Hilfsspalte in Spalte L:
=WENNFEHLER(INDEX(K:K;AGGREGAT(15;6;ZEILE(K$2:K$30000)/ISTNV(VERGLEICH(K$2:$K$30000;L$1:L1;)); 1)) &"";"") 

AW: Dropdown nicht mit allen Werten befüllen
21.04.2015 06:37:51
Ronny
Hallo Klexy
Die Idee finde ich gut. Soll ich in Spalte L mittels FormulaLocal die Formel einfügen?
Wenn ich die Formel einfach so eingebe ist das Resultat immer 42111.
Sorry hört sich jetzt vielleicht etwas doof an aber ich weiss wirklich nicht genau wie du das gemeint hast.

AW: Dropdown nicht mit allen Werten befüllen
21.04.2015 07:47:14
fcs
Hallo Ronny,
du musst in der Initialisierungsprozedur der Userforms alle Wert in der Datumsspalte prüfen und ohne Doppelte in die Auswahlliste übernehemn.
Suche mal in der RECHERCHE unter "Listbox ohne doppelte". Da sollte was passendes zu finden sein.
Gruß
Franz

Anzeige
AW: Dropdown nicht mit allen Werten befüllen
21.04.2015 07:51:23
Nepumuk
Hallo,
so kannst du die ComboBox füllen:
Private Sub UserForm_Initialize()
    Dim avntValues As Variant, vntItem As Variant
    Dim objDictionary As Object
    With Tabelle1
        avntValues = .Range(.Cells(2, 11), .Cells(.Rows.Count, 11).End(xlUp)).Value
    End With
    Set objDictionary = CreateObject("Scripting.Dictionary")
    For Each vntItem In avntValues
        objDictionary(vntItem) = vbNullString
    Next
    ComboBox1.List = objDictionary.Keys
    Set objDictionary = Nothing
End Sub

Den Tabellennamen und die Startzeile des Bereiches musst du eventuell anpassen.
Gruß
Nepumuk

Anzeige
AW: Dropdown nicht mit allen Werten befüllen
21.04.2015 13:01:07
Ronny
Das hört sich sehr gut an! Ich habe den Code beim Userform entsprechend rein kopiert.
Die Tabelle heisst Daten das hab ich geändert. Der Rest passt. Im Code von der Tabelle rufe ich das UserFrom über UserForm1.Show auf. Jedoch passiert nichts. Ich bekomme nicht einmal eine Fehlermeldung. Was könnte ich falsch machen? Offenbar wird der Code nicht ausgeführt. Ich stehe gerade auf dem Schlauch. Danke für die Hilfe!

AW: Dropdown nicht mit allen Werten befüllen
21.04.2015 13:51:09
Nepumuk
Hallo,
keine Ahnung, ich kenn ja deine Mappe nicht. Bei mir hat das funktioniert.
Gruß
Nepumuk

AW: Dropdown nicht mit allen Werten befüllen
21.04.2015 14:34:58
fcs
Hallo Ronny,
hier
   With Tabelle1

musst du den Code-Namen von Blatt "Daten" angeben, wie im VBA-Projekt-Explorer angezeigt
oder
   With Workshets("Daten")

wenn "Daten" der Name auf dem Blattregister ist.
Gruß
Franz

Anzeige
AW: Dropdown nicht mit allen Werten befüllen
21.04.2015 15:18:16
Ronny
Danke habe es ausprobiert, aber es geht genau so wenig. Ich habe meine Tabelle auch schon unbenannt auf Tabelle1 aber auch das geht nicht. Keine Ahnung was ich falsch mache!

AW: Dropdown nicht mit allen Werten befüllen
22.04.2015 07:46:13
fcs
Hallo Ronny,
bei mir hatte sich der Tippfehler-Teufel eungeschlichen - ein "e" fehlte"
   With Worksheets("Daten")
Ansonsten muss du mal -wie von Nepumuk vorgeschlagen- deine Datei abgespeckt/Daten anonymisert mit dem Userform hier hochladen denn die reichweite unberer Kristallkugeln ist begrenzt.
Gruß
Franz

AW: Dropdown nicht mit allen Werten befüllen
22.04.2015 07:58:37
Ronny
Hallo!
Den Tippfehler habe ich bemerkt. Aber an dem hat es nicht gelegen leider.
Das mit der Kristallkugel kann ich gut verstehen. Ich kann das File gerne hochladen.

Anzeige
AW: Dropdown nicht mit allen Werten befüllen
23.04.2015 07:43:58
Ronny
So nun habe ich eine Lösung gefunden!
Private Sub UserForm_Initialize()
Dim X As Long, Y As Long, B As Boolean
With ComboBox1
.Clear
For X = 2 To 1000
If Cells(X, 11)  "" And Cells(X, 11).RowHeight > 0 Then
For Y = 1 To X - 1
If Cells(Y, 11) = Cells(X, 11) Then
B = True
Exit For
End If
Next Y
If B = False Then
.AddItem Cells(X, 11)
Else
B = False
End If
End If
Next X
End With
End Sub
Das funktioniert perfekt!

Anzeige
AW: Dropdown nicht mit allen Werten befüllen
23.04.2015 08:00:02
fcs
Hallo Ronny,
das Problem liegt an anderer Stelle: Der Name der Prozedur ist nicht korrekt. Die "1" ist zuviel.
Bei deinem neuen Makro hast du das irgendwie unbemerkt korrigiert.
Private Sub UserForm_Initialize()
'Private Sub UserForm1_Initialize()   '#### Falsch
Dim avntValues As Variant, vntItem As Variant
Dim objDictionary As Object
With Worksheets("Daten")
avntValues = .Range(.Cells(2, 11), .Cells(.Rows.Count, 11).End(xlUp)).Value
End With
Set objDictionary = CreateObject("Scripting.Dictionary")
For Each vntItem In avntValues
objDictionary(vntItem) = vbNullString
Next
ComboBox1.List = objDictionary.Keys
Set objDictionary = Nothing
End Sub

Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige