/ / Excel VBA Datum och tid

Excel VBA Datum och tid

År, Månad, Datum för Datum | DateAdd | Aktuell datum och tid | Timme, minut, andra | Timevalue

Lär dig hur du jobbar med datum och tider i Excel VBA.

Placera en kommandoknapp på ditt arbetsblad och lägg till kodlinjerna nedan. För att köra kodlinjerna klickar du på kommandoknappen på arket.

År, Månad, Datum för Datum

Följande makro blir året för ett datum. För att deklarera ett datum, använd Dim-satsen. För att initiera ett datum, använd DateValue-funktionen.

Koda:

Dim exampleDate As Date

exampleDate = DateValue("Jun 19, 2010")

MsgBox Year(exampleDate)

Resultat:

År för datum i Excel VBA

Obs! Använd månad och dag för att få månad och dag för datum.

DateAdd

Om du vill lägga till ett antal dagar till ett datum använder duDateAdd-funktionen. DateAdd-funktionen har tre argument. Fyll i "d" för det första argumentet för att lägga till dagar. Fyll i 3 för det andra argumentet för att lägga till 3 dagar. Det tredje argumentet representerar det datum som antalet dagar kommer att läggas till.

Koda:

Dim firstDate As Date, secondDate As Date

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

MsgBox secondDate

Resultat:

DateAdd

Notera: Ändra "d" till "m" för att lägga till ett antal månader till ett datum. Placera markören på DateAdd i Visual Basic Editor och klicka på F1 för hjälp på andra intervallspecifikatorer. Datum är i US Format. Månader först, Dags andra. Denna typ av format beror på dina regionala inställningar i Windows.

Aktuell datum och tid

För att få aktuellt datum och tid, använd funktionen Nu.

Koda:

MsgBox Now

Resultat:

Aktuell datum och tid

Timme, minut, andra

Få timmen av en gång, använd funktionen Hour.

Koda:

MsgBox Hour(Now)

Resultat:

Tid för aktuell tid

Obs! Använd Minute och Second för att få minut och andra gången.

Timevalue

TimeValue-funktionen konverterar en sträng till ett tidsserienummer. Tidens serienummer är ett tal mellan 0 och 1. Exempelvis är middagen (halvvägs genom dagen) representerad som 0,5.

Koda:

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

Resultat:

Timevalue

För att tydligt se att Excel hanterar tider internt som siffror mellan 0 och 1, lägg till följande kodlinjer:

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

Resultat:

Tidsserienummer

Läs också: