• 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.

Datum uit cel vergelijken met datum in VBA

Status
Niet open voor verdere reacties.

Joost.van.Steeg

Gebruiker
Lid geworden
9 okt 2006
Berichten
138
Hoi,

Ik zou graag een vergelijking willen maken tussen een datum in een cel en een willekeurige datum in VBA. Bijvoorbeeld, in cell 1A staat: 12-12-2007 en ik wil checken of deze datum groter is dan 10-12-2007.

Moet je dan eerste twee variabelen definieren?

Code:
Dim dCellDatum as Date 
Dim dVBADatum as Date

dCellDatum = Sheets("Sheet1").range("A1").value
dVBADatum = 12-05-2007 

If Format(dVBADatum, "dd-mm-yyyy") > dCellDatum 
then Sheets("Sheet1").range("A2").value = "Ja, die is groter"

En is de datum die in de variabele dVBADatum staat, nu 12 mei 2007, of 5 december 2007?


Alvast bedankt
 
Code:
Sub DatumsVergelijken()

    Dim dCellDatum As Date
    Dim dVBADatum As Date
    
    dCellDatum = Sheets("Sheet1").Range("A1").Value
    dVBADatum = #12/5/2007#
    
    Sheets("Sheet1").Range("A2").Value = IIf(dVBADatum > dCellDatum, "Ja, die is groter", "Neen, niet groter")

End Sub

Hier is het 5 december.

Wigi
 
Hee Wigi!

Wederom is mijn dank groot.

--> Mega Honourable Senior Member
Inmiddels je 10.000ste post geplaatst ?
 
Toch nog even het volgende:

Hebben de datum notaties van de systeem instellingen nog invloed op hoe VBA een datum in een datum-variabele plaatst ?

Of is het onafhankelijk van de instellingen, en is #12/5/2007# altijd 5 december?
 
Toch nog even het volgende:

Hebben de datum notaties van de systeem instellingen nog invloed op hoe VBA een datum in een datum-variabele plaatst ?

Of is het onafhankelijk van de instellingen, en is #12/5/2007# altijd 5 december?

Dit is afhankelijk van de landinstellingen.

Voer deze macro maar eens uit, vervolgens landinstellingen veranderen en macro weer uitvoeren.

Code:
Sub w()

    Dim d As Date
    
    d = #5/12/2007#
    
    MsgBox d

End Sub

Wigi
 
Toch nog even het volgende:

Hebben de datum notaties van de systeem instellingen nog invloed op hoe VBA een datum in een datum-variabele plaatst ?

Of is het onafhankelijk van de instellingen, en is #12/5/2007# altijd 5 december?

Veiliger is om DateSerial te gebruiken (NLse term weet ik niet) in VBA:
Code:
    Dim mydate As Date
    
    mydate = DateSerial(2007, 5, 12)
 
Joost, zet de status van de vraag eens op opgelost aub.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan