/ / Excel VBA dato og klokkeslett

Excel VBA dato og klokkeslett

År, Måned, Dato for Dato | DateAdd | Gjeldende dato og klokkeslett | Time, Minute, Second | TIMEVALUE

Lær hvordan du skal jobbe med datoer og klokkeslett i Excel VBA.

Legg en kommandoknapp på regnearket og legg til kodelinjene under. For å utføre kodelinjene, klikk på kommandoknappen på arket.

År, Måned, Dato for Dato

Følgende makro blir året for en dato. For å erklære en dato, bruk Dim-setningen. For å initialisere en dato, bruk DateValue-funksjonen.

Kode:

Dim exampleDate As Date

exampleDate = DateValue("Jun 19, 2010")

MsgBox Year(exampleDate)

Resultat:

Årstall i Excel VBA

Merk: Bruk Måned og Dag for å få måned og dato for en dato.

DateAdd

For å legge til et antall dager til en dato, brukDateAdd-funksjon. DateAdd-funksjonen har tre argumenter. Fyll ut "d" for det første argumentet for å legge til dager. Fyll inn 3 for det andre argumentet for å legge til 3 dager. Det tredje argumentet representerer datoen som antall dager vil bli lagt til.

Kode:

Dim firstDate As Date, secondDate As Date

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

MsgBox secondDate

Resultat:

DateAdd

Merk: Endre "d" til "m" for å legge til et antall måneder til en dato. Plasser markøren på DateAdd i Visual Basic Editor og klikk F1 for hjelp på de andre intervallspesifikatorene. Datoer er i US Format. Måneder først, Dager andre. Denne typen format avhenger av dine regionale innstillinger for Windows.

Gjeldende dato og klokkeslett

For å få dagens dato og klokkeslett, bruk nå-funksjonen.

Kode:

MsgBox Now

Resultat:

Gjeldende dato og klokkeslett

Time, Minute, Second

Få timen av en gang, bruk Hour-funksjonen.

Kode:

MsgBox Hour(Now)

Resultat:

Tid for nåværende tid

Merk: Bruk minutt og sekund for å få minuttet og andre av gangen.

TIMEVALUE

TimeValue-funksjonen konverterer en streng til et tidsserienummer. Tids serienummer er et tall mellom 0 og 1. For eksempel er middag (halvveis gjennom dagen) representert som 0,5.

Kode:

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

Resultat:

TIMEVALUE

For å se klart at Excel håndterer tider internt som tall mellom 0 og 1, legger du til følgende kodelinjer:

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

Resultat:

Tidsserienummer

Les også: