Listboxeintrag finden und markieren
#1
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?
Antworten Top
#2
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ß der AlteDresdner (Win11, Off2021)
Antworten Top
#3
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
Antworten Top


Gehe zu:


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