/ / Excel VBA Dato og Tid

Excel VBA Dato og Tid

År, Måned, Dato for Dato | DateAdd | Nuværende dato og klokkeslæt | Time, Minute, Second | TIMEVALUE

Lær hvordan man arbejder med datoer og tider i Excel VBA.

Placer en kommandoknap på dit regneark og tilføj kodelinjerne nedenfor. For at udføre kodelinjerne, klik på kommandoknappen på arket.

År, Måned, Dato for Dato

Den følgende makro bliver året for en dato. Hvis du vil erklære en dato, skal du bruge Dim-sætningen. For at initialisere en dato skal du bruge DateValue-funktionen.

Kode:

Dim exampleDate As Date

exampleDate = DateValue("Jun 19, 2010")

MsgBox Year(exampleDate)

Resultat:

År for en dato i Excel VBA

Bemærk: Brug Måned og Dag for at få måned og dato for en dato.

DateAdd

For at tilføje et antal dage til en dato skal du brugeDateAdd funktion. DateAdd-funktionen har tre argumenter. Udfyld "d" for det første argument for at tilføje dage. Udfyld 3 for det andet argument for at tilføje 3 dage. Det tredje argument repræsenterer den dato, hvor antallet af dage vil blive tilføjet.

Kode:

Dim firstDate As Date, secondDate As Date

firstDate = DateValue("Jun 19, 2010")
secondDate = DateAdd("d", 3, firstDate)

MsgBox secondDate

Resultat:

DateAdd

Bemærk: Skift "d" til "m" for at tilføje et antal måneder til en dato. Placer markøren på DateAdd i Visual Basic Editor og klik på F1 for at få hjælp til de andre intervalspecifikatorer. Datoer er i amerikansk format. Måneder første, Days second. Denne type format afhænger af dine Windows-regionale indstillinger.

Nuværende dato og klokkeslæt

For at få den aktuelle dato og klokkeslæt skal du bruge funktionen Nu.

Kode:

MsgBox Now

Resultat:

Nuværende dato og klokkeslæt

Time, Minute, Second

Få timen på en gang, brug funktionen Hour.

Kode:

MsgBox Hour(Now)

Resultat:

Tid for den aktuelle tid

Bemærk: Brug minut og sekund for at få minut og sekund af gangen.

TIMEVALUE

TimeValue-funktionen konverterer en streng til et tidsserienummer. Tids serienummer er et tal mellem 0 og 1. For eksempel er middag (halvvejs gennem dagen) repræsenteret som 0,5.

Kode:

MsgBox TimeValue("9:20:01 am")

Resultat:

TIMEVALUE

For at tydeligt se, at Excel håndterer tider internt som tal mellem 0 og 1, skal du tilføje følgende kode linjer:

Dim y As Double
y = TimeValue("09:20:01")
MsgBox y

Resultat:

Tidsserienummer

Læs også: