Jämföra datum i VBA , eller Visual Basic for Applications , är i princip samma funktion som att jämföra heltal . För att jämföra datum enklare och förenkla samarbetet med datumen i allmänhet , använder variabelnamn som indikerar en " Date " typ . Till exempel , skriv " DAT1 , " eller " birthday1 . " För att förstå hur man kan jämföra datum , skriva korta program som utför datum jämförelser och använda steg-för - steg körningsläge av VBA-programmering miljö , tillsammans med miljöns " Quick watch "-fönstret , för att iaktta dessa jämförelser i realtid . Bestämma typ
Du behöver inte konvertera datum till " Date " typ för jämförelser om de redan är i den typen . Du kan berätta om en variabel är ett datum typ i ett par olika sätt . Titta på deklarationer avsnittet i början av ett VBA- procedur . Detta avsnitt är där du deklarera alla variabler med hjälp av " Dim " nyckelordet . Dina datumvariabler kommer att förklaras med uttalanden som detta : " . Dim d1 som Date " Ett annat sätt du berättar om din variabel är en " Date " typ är genom att titta på uppdrag till en variabel . Dessa uppdrag kommer att använda " # " tecknet , vilket betecknar " Date " typ . Exempelvis tilldelar följande uttalande dagen " 2001/12/01 " till " Date " rörliga " D1 . "
D1 = # 2001/12/01 #
konvertera till Datum Typ
att jämföra datum i VBA , måste du först ha två datum som är lagrade i " Date " typ , vilket är en av flera värde typer i VBA . Den " Date " typ är en speciell instans av heltal datatypen , så att jämföra datum är i princip samma som att jämföra heltal . Om dina datum är ännu inte i " Date " typ , måste du konvertera dem till den typen . Gör det genom att tillämpa den CDate funktionen . Till exempel kör följande uttalande att konvertera strängen " 2001/12/01 " till ett datum typ :
D1 = CDate ( " 2001/12/01 " )
Jämförelse
p Om du vill testa om dagen i en " Date " variabel förekommer innan en annan , använd mindre än-symbol , som följande exempel visar .
Om ( d1 < d2 ) katalog
Använd större än-symbol för att testa om en tidpunkt inträffar senare än ett annat datum , och använda likhetstecknet för att se om värdena i två variabler hänvisar till samma datum . Addera Sample program
Skriv ett urval program som konverterar och jämför datum så att du kan hänvisa till programmet när du skriver mer komplexa VBA -program som utför datum jämförelser . Öppna programmeringsmiljö i en av de Office-program genom att klicka på " Utvecklare " fliken för " Visual Basic " -knappen , och sedan klistra in följande program i miljön centrala fönster . Detta program använder " CDate " -funktion för att konvertera strängar till datum , och utför tre olika jämförelser på två datum . Kör programmet genom att trycka på " F5 " och visa sin produktion genom att titta i " Omedelbar " fönstret .
Public Sub CompareDates ( ) katalog
Dim D1, D2 Som Datum
d1 = CDate ( " 2001/12/01 " ) katalog
d2 = CDate ( " 2002/12/01 " ) katalog p Om ( d1 < d2 ) Sedan Debug.Print " Date 1 inträffar tidigare än datum 2 . "
p Om ( d1 > d2 ) sen Debug.Print " Datum 1 inträffar senare än datum 2 . "
p Om ( d1 = d2 ) Sedan Debug . Print " Date 1 är samma som datum 2 . "
End Sub