Sammenligning datoer i VBA , eller Visual Basic for Applications , er stort set den samme funktion som at sammenligne tal. For at gøre sammenligne datoer lettere og forenkle arbejdet med datoer i almindelighed, bruger variabelnavne , der indikerer en "Date " type . For eksempel skriver " DAT1 " eller " birthday1 ". For at forstå hvordan man kan sammenligne datoer , skrive korte programmer, som udfører dato sammenligninger og bruge trin-for- trin udførelse tilstanden for VBA programmering miljø sammen med miljøets "Quick watch " vinduet, for at observere disse sammenligninger i realtid. Bestemmelse Type
Du behøver ikke at konvertere datoer til " Date" type for sammenligninger , hvis de allerede er i denne type. Du kan fortælle, hvis en variabel er en dato skrive i et par måder . Kig på erklæringerne afsnittet i starten af en VBA procedure. Dette afsnit er, hvor du erklærer alle variabler ved at bruge " Dim " søgeord . Din date variabler vil blive erklæret med udtalelser som denne : " . Dim d1 som Date " En anden måde du fortælle om din variabel er en "Date " type er ved at se på opgaver til en variabel. Disse opgaver vil bruge " #" tegn, som angiver "Dato " type . For eksempel tildeler følgende erklæring datoen " 2001/12/01 " til " Date" variable "D1 ".
D1 = # 2001/12/01 #
Konverter til Dato Type
For at sammenligne datoer i VBA , skal du først nødt til at have to datoer , der er gemt i "Dato " type , som er en af flere værdi typer i VBA. "Dato " type er en speciel forekomst af heltal datatype , så sammenligne datoer er væsentlige den samme som at sammenligne heltal . Hvis dine datoer endnu ikke er i "Dato " type , er du nødt til at konvertere dem til denne type. Gør det ved at anvende den CDate funktion. For eksempel kører følgende erklæring for at konvertere strengen " 2001/12/01 " til en dato typen :
D1 = CDate ( " 2001/12/01 " )
Sammenligning
p Hvis du ønsker at teste , om datoen i én " date " variable indtræffer før en anden , skal du bruge mindre end symbol , som følgende eksempel viser .
< p > Hvis ( d1 < d2 )
Brug symbolet større end at teste om en dato kommer senere end en anden dato , og bruge lig symbolet for at se om værdierne i to variabler refererer til samme dato.
Sample program
Skriv en stikprøve program, der konverterer og sammenligner datoer, så du kan henvise til programmet , når du skriver mere komplekse VBA programmer udfører dato sammenligninger. Åbn programmeringsmiljø i et af Office-programmerne ved at klikke på "Udvikler "-fanen er " Visual Basic " knappen, derefter indsætte følgende program i miljøet centrale vindue . Dette program bruger " CDate "-funktionen til at konvertere strenge til datoer , og udfører tre forskellige sammenligninger på to datoer. Kør programmet ved at trykke på " F5 ", og se sin produktion ved at kigge i " Immediate " vinduet.
Public Sub CompareDates ()
Dim D1, D2 Som Dato
d1 = CDate ( " 2001/12/01 " )
d2 = CDate ( " 2002/12/01 " )
p Hvis ( d1 < d2 ) Så Debug.Print "Date 1 finder sted tidligere end datoen 2. . "
p Hvis ( d1 > d2 ) Så Debug.Print " Date 1 sker senest dato . 2. "
p Hvis ( d1 = d2 ) Så Debug . print "Date 1 er den samme som datoen 2. . "
End Sub