sammenligne datoene i VBA eller Visual Basic for Applications , er i hovedsak den samme operasjonen som å sammenligne heltall. For å gjøre sammenligne datoene enklere og enklere å jobbe med datoer generelt , bruke variabelnavn som indikerer et "Dato" type. For eksempel skriver " dat1 , " eller " Birthday1 . " For å forstå hvordan å sammenligne datoer , skrive korte programmer som utfører dato sammenligninger , og bruke trinn-for- trinn kjøringsmodus av VBA- programmering miljø , sammen med miljøets "Quick watch "-vinduet , for å observere disse sammenligningene i sanntid. Bestemme type
Du trenger ikke å konvertere datoer til " Date" type for sammenligninger hvis de allerede er i den typen. Du kan fortelle om en variabel er en dato skriver i et par måter . Se på deklarasjonsdelen i begynnelsen av en VBA- prosedyre . Denne delen er der du deklarere alle variabler ved å bruke " Dim " søkeord . Dine datovariabler vil bli erklært med uttalelser som dette : " . Dim d1 som Date " En annen måte du fortelle om din variabel er en "Date " type er ved å se på oppgaver til en variabel . Disse oppgavene vil bruke " #" karakter, som betegner "Date " type . For eksempel tildeler følgende uttalelse datoen " 12/1/2001 " til " Date" variable " D1 ".
D1 = # 12/1/2001 #
Konverter til dato Type
å sammenligne datoene i VBA , må du først ha to datoer som er lagret i " Date " type , som er en av flere typer verdier i VBA. "Dato"- typen er et spesielt tilfelle av heltallet datatypen , slik at man sammenligner dato er hovedsakelig den samme som å sammenligne heltall. Hvis dine datoer er ennå ikke i " Date " type , må du konvertere dem til den typen. Gjør det ved å anvende den CDate funksjon . For eksempel kjøre følgende uttalelse å konvertere strengen " 12/1/2001 " til en dato type :
D1 = CDate ( " 12/1/2001 ")
Sammenligning
p Hvis du ønsker å teste om datoen i en "Date " variable oppstår før en annen , bruker mindre enn-symbolet , som følgende eksempel viser.
< p > Hvis ( d1 < d2 )
Bruk større enn-symbolet for å teste om en dato inntreffer senere enn en annen dato, og bruk likhetstegnet for å se om verdiene i to variabler refererer til samme dato.
Sample program
Skriv et prøveprogram som konverterer og sammenligner datoer slik at du kan henvise til programmet når du skriver mer komplekse VBA programmer som utfører dato sammenligninger . Åpne programmeringsspråket miljø i ett av Office- programmene ved å klikke på "Utvikler " fanen " Visual Basic" -knappen, og lim inn følgende program i miljøet sentrale vindu . Dette programmet bruker " CDate " funksjonen for å konvertere strenger til datoer , og utfører tre forskjellige sammenligninger på to datoer . Kjør programmet ved å trykke " F5 ", og vise sin produksjon ved å se i " Immediate "-vinduet.
Public Sub CompareDates ()
Dim d1 , d2 Som Date
< p > d1 = CDate ( " 12/1/2001 ")
d2 = CDate ( " 12/1/2002 ")
p Hvis ( d1 < d2 ) Da Debug.Print "Date 1 oppstår tidligere enn datoen to . "
p Hvis ( d1 > d2 ) Da Debug.Print " Date en oppstår senere enn dato to . "
p Hvis ( d1 = d2 ) Så Debug . print "Date en er den samme som datoen to . "
End Sub