• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Selecteren op eerste datum na vandaag

Status
Niet open voor verdere reacties.

CamJacobus

Verenigingslid
Lid geworden
29 mrt 2016
Berichten
58
Goedemorgen allen,

Ik gebruik onderstaande code voor selecteren op huidige datum:

Code:
        Dim c As Range
        Set c = Columns(2).Find(Format(Date, "[$-F800]dddd d mmmm yyyy"), , xlValues, xlPart)
        If c Is Nothing Then
        MsgBox "Er is geen datum van vandaag gevonden, hierdoor begint de weergave bij de eerste rij"
        Else
        c.Select
        End If

Nu wil ik geen foutmelding als de datum van vandaag niet aanwezig is. Ik wil dat er dan gezocht wordt naar de eerstvolgende datum. Hoe doe ik dat?

Alvast bedankt!
 
Hallo Jacobus, "eerstvolgende" verzin eens een aantal mogelijke bedoelingen:
uit een lijst
je kan gisteren bedoelen
je kan morgen bedoelen
en nog veeeeeel meer.

een eenvoudig voorbeeldje doet vaak wonderen.
 
De eerst volgende lijkt mij de eerst gevonden datum na vandaag. Volgens mij moet het ook met application.match kunnen maar onderstaande werkt ook.

Code:
Sub VenA()
Dim c As Range, j As Long
    Do While c Is Nothing And j <= Columns(2).SpecialCells(2, 1).Count
        Set c = Columns(2).SpecialCells(2, 1).Find(Format(Date + j, "[$-F800]dddd d mmmm yyyy"), , xlValues, xlPart)
        j = j + 1
    Loop
If Not c Is Nothing Then Application.Goto c, 1
End Sub
 
Super, ik bedoelde inderdaad eerstvolgende datum na vandaag. VenA jouw oplossing werkt prima! Bedankt! :thumb:
 
Als de datums van laag naar hoog gesorteerd zijn gaat dit volgens mij ook goed en scheelt een lusje.

Code:
Sub VenA()
With Application
    .Goto Cells(IIf(IsError(.Match(CLng(Date), Columns(2), 0)), .Match(CLng(Date), Columns(2)) + 1, .Match(CLng(Date), Columns(2), 0)), 2)
End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan