We hebben al besproken wat variabelen, gegevenstypen en constanten zijn, in onze tutorial VBA-gegevenstypen - variabelen en constanten. In deze zelfstudie gaan we bespreken hoe u een variabele als een datum declareert.
In VBA wordt het datumgegevenstype opgeslagen als een decimaal. In dit gegevenstype kunnen zowel datums als tijden worden opgeslagen. Het VBA-datumgegevenstype kan waarden opslaan van 1 januari 100 - 31 december 9999.
VBA-datumvariabele
U declareert een variabele als een datum met behulp van het Dim-sleutelwoord:
1 | Dim dateOne als datum |
Vervolgens kunt u een datum toewijzen aan de datumvariabele. Er zijn meerdere manieren om datums te genereren om aan variabelen toe te wijzen:
Vandaag toewijzen aan variabele
De datumfunctie retourneert de datum van vandaag:
123 | Dim dtVandaagdtToday = Datum |
Nu toewijzen aan variabele
De Nu-functie retourneert de datum van vandaag en de huidige tijd:
123 | Dim dNowdNu = Nu |
Tijd toewijzen aan variabele
De tijdfunctie retourneert de huidige tijd:
123 | Dim tTijdtTijd = Tijd |
Wijs een datum toe aan een variabele met DateSerial
De functie DateSerial retourneert een datum op basis van een ingevoerd jaar, maand en dag:
123 | Dim dsDatedsDate = DateSerial(2010, 11, 11) |
Een tijd toewijzen aan variabele met TimeSerial
De TimeSerial-functie retourneert een tijd, gebaseerd op een ingevoerd uur, minuut en seconde:
123 | Dim tsTimetsTime = TimeSerial (10, 10, 45) |
U moet datums tussen de # of ” zetten wanneer u ze in uw code gebruikt, zoals hieronder weergegeven:
VBA DateValue-functie
De VBA DateValue-functie kan worden gebruikt om een datum te initialiseren. De volgende code kan worden gebruikt om een datum in VBA te initialiseren:
1 | MsgBox DateValue ("1/1/2010") |
VBA TimeValue-functie
1 | MsgBox TimeValue("21:30:57") |
Excel VBA datumvariabele voorbeeld
Deze procedure laat zien hoe u datumvariabelen maakt, waarden toewijst en deze uitvoert naar een Excel-werkblad:
12345678910111213 | Sub DeclaringAVariableAsADate()Dim dateOne As DateDim dateTwee als datumdateOne = #1/1/2019#dateTwo = "1/2/2019"Bereik ("A1"). Waarde = dateOneBereik ("A2"). Waarde = datumTweeEinde sub |
Het resultaat is:
U kunt meer leren over datumfuncties in deze zelfstudie.
VBA-datumvariabele in Access
De datumvariabele werkt in Access VBA precies hetzelfde als in Excel VBA.
Deze procedure laat zien hoe u een datumvariabele maakt en een veld in een toegangstabel bijwerkt met de waarde.
12345 | Sub DeclaringAVariableAsADate()Dim dtWork As DatedtWerk = #05/10/2020#DoCmd.RunSql "UPDATE tblJobs SET WorkDate = #" & dtWork & "# WHERE JobNo = 6"Einde sub |