Clever-Excel-Forum

Normale Version: Listboxeintrag finden und markieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Abend.

Im Moment stehe ich auf dem Schlauch. Folgendes versuche ich:

In einer Userform (frmPA) befindet sich eine Listbox (lstDatum). Die Listbox hat 3 Spalten. In der ersten Spalte steht ein Datum (fortlaufend vom 01.01.2016 bis zum 31.12.2017). Nachdem mit dem Öffnen der Userform die Daten aus einer Tabelle in die Listbox eingelesen wurden, soll der Listboxeintrag (Item) markiert werden, in dessen erster Spalte das Datum von heute steht. Das Markieren soll gleichzeitig das Ereignis lstDatum_Click() auslösen. Das gelingt mir leider nicht mit folgendem Code:

With frmPA.lstDatum
    
    ... Daten werden in die Listbox eingelesen. Dann soll die Zeile mit dem Tagesdatum markiert werden

        For I = 0 To .ListCount - 1
            If .List(I, 0) = Date Then
                .Selected(I) = True
            End If
        Next I
End With

Alles funktioniert bis auf das Markieren und das Auslösen des Klickereignisses. Was mache ich falsch?
Hallo Usedom,
ohne Test:
in .List(I,0) steht sicher Text, Date ergibt einen Datumswert. Das kann man mit Debuggen mal prüfen.
Wenn das so ist: Die Zeile
If .List(I, 0) = Date Then
sollte wohl besser
If datevalue(.List(I, 0)) = Date Then
heißen.
Ich hoffe, das war es; Gruß der AlteDresdner
Gruß nach Dresden.

Danke. Das ist die Lösung, denn sowohl das Markieren als auch das Auslösen des Klickereignisses funktionieren. "DateValue" war mir bisher nicht bekannt.

Herzliche Grüße von der Ostsee