Tijd tussen data berekenen in VBA

Status
Niet open voor verdere reacties.

MEradus

Gebruiker
Lid geworden
25 nov 2012
Berichten
287
Hallo,

Ik ben bezig met een programma voor het wagenpark bij ons op het werk, dankzij Rudi op dit forum ben ik vandaag een heel stuk opgeschoten.

Nu vraag ik mij 1 ding af, kan onderstaande code ook omgebatterijd worden voor een bereik tussen 2 data? Het gaat om het rode gedeelte, dit moet eigenlijk aangegeven wanneer er tussen vandaag en de aangegeven datum in kolom 8 2 maanden of minder zit. Nou weet ik wel dat dit kan met voorwaardelijke opmaak in Excel, maar het is de bedoeling dat de wagenparkbeheerder het voertuig of de voertuigen in kan plannen door dubbel te klikken.
Ik hoop dat dit voldoende uitleg is, want ik heb op dit moment geen voorbeeld bij de hand.

Code:
Private Sub UserForm_Initialize()
    listendRow = 0
    With ListBox1
        .Clear
        .ColumnCount = 4
        .ColumnWidths = "50;50"    'evt. aanpassen
    End With
    sn = Sheets("Totaal overzicht wagenpark").ListObjects("Tabel1").DataBodyRange
    For i = 1 To UBound(sn)
        If sn(i, 8) [COLOR="#FF0000"]<= 2500 Then[/COLOR]
            With ListBox1
                .AddItem sn(i, 2)
                .List(listendRow, 1) = sn(i, 3)
                .List(listendRow, 2) = sn(i, 8)
                .List(listendRow, 3) = sn(i, 7)
                End With
            listendRow = listendRow + 1
        End If
    Next
End Sub
 
met DateAdd("M", -2, date())
Kan je de datum 2 maanden naar het verleden zeten, als je die functie zet waar nu 2500 staat... aangenomen dat de datum in kolom 8 staat ... dan ben je er :)
 
Dit is niet helemaal wat ik zocht, maar komt wel in de buurt!
De datum staat in kolom 14 (heb ik dan ook al aangepast)

Het is de bedoeling dat de listbox aangeeft dat de datum in kolom 14 en 'vandaag' gelijk of kleiner is dan 2 maanden.
2 maanden is de interval voor de APK en dat moet hij dus aangeven. Dit gaf hij nog niet aan helaas, ik hoop dat je / iemand hier het antwoord op heeft!
 
Zelf nog even wat geprobeerd, en het is gelukt!
Moest de datum hebben tussen vandaag en de datum in kolom 14 met een verschil van 2 maanden.

Ik moest dus 'NOW' gebruiken.

Bedankt!

Code:
Private Sub UserForm_Initialize()

    listendRow = 0
    With ListBox1
        .Clear
        .ColumnCount = 4
        .ColumnWidths = "40;50"    'evt. aanpassen
    End With
    sn = Sheets("Totaal overzicht wagenpark").ListObjects("Tabel1").DataBodyRange
    For i = 1 To UBound(sn)
        If sn(i, 14) <= DateAdd("M", 2, Now()) Then
            With ListBox1
                .AddItem sn(i, 2)
                .List(listendRow, 1) = sn(i, 3)
                .List(listendRow, 2) = sn(i, 14)
                .List(listendRow, 3) = sn(i, 7)
                End With
            listendRow = listendRow + 1
        End If
    Next

End Sub
 
Snap niet helemaal waarom je NOW zou moeten gebruiken ipv Date? Now heeft een tijds component en date niet, maar werkt voor de rest exact hetzelfde.
Zal eerder de min zijn die je hebt weggehaald.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan