VBA -datofunksjoner

Innholdsfortegnelse

I denne opplæringen skal vi gå gjennom de forskjellige innebygde VBA-datofunksjonene.

VBA -datofunksjon

Du kan bruke datofunksjonen til å returnere gjeldende dato.

Syntaksen til datofunksjonen er Date (). Det har ingen argumenter.

Følgende kode viser deg hvordan du bruker datofunksjonen:

12345678 Sub UsingTheDateFunction ()Dim datoen som datotheDate = Date ()Debug. Skriv ut datoenSlutt Sub

Resultatet er:

VBA Now -funksjon

Du kan bruke nå -funksjonen til å returnere gjeldende dato og klokkeslett.

Syntaksen til Now -funksjonen er Now (). Det har ingen argumenter.

Følgende kode viser deg hvordan du bruker nå -funksjonen:

12345678 Sub UsingTheNowFunction ()Dim datoen som datotheDate = Now ()Debug. Skriv ut datoenSlutt Sub

Resultatet er:

VBA -tidsfunksjon

Du kan bruke tidsfunksjonen til å returnere gjeldende tid.

Syntaksen til tidsfunksjonen er Time (). Det har ingen argumenter.

Følgende kode viser deg hvordan du bruker tidsfunksjonen:

12345678 Sub UsingTheTimeFunction ()Dim theTime As DatetheTime = Time ()Debug. Skriv ut tidenSlutt Sub

Resultatet er:

VBA DateAdd -funksjon

Du kan bruke DateAdd -funksjonen til å legge til et dato/klokkeslett -intervall til en dato eller et klokkeslett, og funksjonen vil returnere den resulterende datoen/klokkeslettet.

Syntaksen til DateAdd -funksjonen er:

DateAdd (Intervall, Nummer, Dato) der:

  • Intervall - En streng som angir hvilken type intervall som skal brukes. Intervallet kan være en av følgende verdier:

"D" - dag
"Ww" - uke
"W" - ukedag
"M" - måned
"Q" - kvartal
"Åååå" - år
"Y" - årets dag
"H" - time
"N" - minutt
"S" - andre

  • Nummer - Antall intervaller du vil legge til den opprinnelige datoen/klokkeslettet.
  • Dato - Den opprinnelige datoen/klokkeslettet.

Merk: Når du bruker datoer i koden, må du omringe dem med # eller anførselstegn.

Følgende kode viser hvordan du bruker DateAdd -funksjonen:

123456789 Sub UsingTheDateAddFunction ()Dim senere Dato som datolaterDate = DateAdd ("m", 10, "11/12/2019")Debug.Print laterDateSlutt Sub

Resultatet er:

VBA DateDiff -funksjon

Du kan bruke DateDiff -funksjonen for å få forskjellen mellom to datoer, basert på et spesifisert tidsintervall.

Syntaksen til DateDiff -funksjonen er:

DateDiff (Intervall, Date1, Date2, [Firstdayofweek], [Firstweekofyear]) der:

  • Intervall - En streng som angir hvilken type intervall som skal brukes. Intervallet kan være en av følgende verdier:

"D" - dag
"Ww" - uke
"W" - ukedag
"M" - måned
"Q" - kvartal
"Åååå" - år
"Y" - årets dag
"H" - time
"N" - minutt
"S" - andre

  • Date1 - En datoverdi som representerer den tidligere datoen.
  • Date2 - En datoverdi som representerer den senere datoen.
  • Første dag i uken (Valgfri) - En konstant som angir ukedagen funksjonen skal bruke som den første dagen i uken. Hvis blank søndag brukes som første dag i uken. Firstdayofweek kan være en av følgende verdier:

-vbSunday - bruker søndag som den første dagen i uken.
-vbMandag - bruker mandag som den første dagen i uken.
-vbTuesday - bruker tirsdag som den første dagen i uken.
-vbWednesday - bruker onsdag som den første dagen i uken.
-vbThursday - bruker torsdag som den første dagen i uken.
-vbFriday - bruker fredag ​​som den første dagen i uken.
-vbSaturday - bruker lørdag som den første dagen i uken.
-vbUseSystemDayOfTheWeek - bruker den første dagen i uken som er angitt av systemets innstillinger.

  • Første uke i året (Valgfri) - En konstant som spesifiserer årets første uke. Hvis den er blank, brukes 1. januar -uken som årets første uke. Firstweekofyear kan være en av følgende verdier:

-vbFirstJan1 - bruker uken som inneholder 1. januar.
-vbFirstFourDays - bruker den første uken som inneholder minst fire dager i det nye året.
-vbFirstFullWeek - bruker årets første hele uke.
-vbSystem - bruker den første uken i året som angitt av systeminnstillingene.

Følgende kode viser deg hvordan du bruker DateDiff -funksjonen:

123456789 Sub UsingTheDateDiffFunction ()Dim theDifferenceBetweenTwoDates As LongtheDifferenceBetweenTwoDates = DateDiff ("q", "11/11/2010", "10/12/2012")Debug.Print theDifferenceBetweenTwoDatesSlutt Sub

Resultatet er:

VBA DatePart -funksjon

Du kan bruke DatePart -funksjonen for å returnere en del (dag, uke, kvartal, måned osv.) Av en gitt dato.

Syntaksen til DatePart -funksjonen er:

DatePart (Intervall, Dato, [Firstdayofweek], [Firstweekofyear]) der:

  • Intervall - En streng som angir delen av datoen som skal returneres. Intervallet kan være en av følgende verdier:

"D" - dag
"Ww" - uke
"W" - ukedag
"M" - måned
"Q" - kvartal
"Åååå" - år
"Y" - årets dag
"H" - time
"N" - minutt
"S" - andre

  • Dato - Datoen du vil at funksjonen skal returnere en del av.
  • Første dag i uken (Valgfri) - En konstant som angir ukedagen som funksjonen skal bruke som den første dagen i uken. Hvis blank søndag brukes som første dag i uken. Firstdayofweek kan være en av følgende verdier:

-vbSunday - bruker søndag som den første dagen i uken.
-vbMandag - bruker mandag som den første dagen i uken.
-vbTuesday - bruker tirsdag som den første dagen i uken.
-vbWednesday - bruker onsdag som den første dagen i uken.
-vbThursday - bruker torsdag som den første dagen i uken.
-vbFriday - bruker fredag ​​som den første dagen i uken.
-vbSaturday - bruker lørdag som den første dagen i uken.
-vbUseSystemDayOfTheWeek - bruker den første dagen i uken som er spesifisert av systemets innstillinger.

  • Første uke i året (Valgfri) - En konstant som spesifiserer årets første uke. Hvis den er blank, brukes 1. januar -uken som årets første uke. Firstweekofyear kan være en av følgende verdier:

-vbFirstJan1 - bruker uken som inneholder 1. januar.
-vbFirstFourDays - bruker den første uken som inneholder minst fire dager i det nye året.
-vbFirstFullWeek - bruker årets første hele uke.
-vbSystem - bruker den første uken i året som angitt av systeminnstillingene.

Følgende kode viser deg hvordan du bruker DatePart -funksjonen:

123456789 Sub UsingTheDatePartFunction ()Dim thePartOfTheDate som heltallthePartOfTheDate = DatePart ("åååå", "12.12.2009")Feilsøk. Skriv ut thePartOfTheDateSlutt Sub

Resultatet er:

VBA DateSerial -funksjon

VBA DateSerial -funksjonen tar et inputår, måned og dag og returnerer en dato.

Syntaksen til DateSerial -funksjonen er:

DateSerial (år, måned, dag) der:

  • År - En heltallsverdi mellom 100 og 9999 som representerer året.
  • Måned - En heltallsverdi som representerer måneden.
  • Dag - En heltallsverdi som representerer dagen.

Følgende kode viser deg hvordan du bruker DateSerial -funksjonen:

123456789 Sub UsingTheDateSerialFunction ()Dim datoen som datotheDate = DateSerial (2010, 11, 10)Debug. Skriv ut datoenSlutt Sub

Resultatet er:

VBA DateValue -funksjon

DateValue -funksjonen returnerer en dato når den er gitt en strengrepresentasjon av en dato.

Syntaksen til DateValue -funksjonen er:

DateValue (Date) hvor:

  • Dato - En streng som representerer datoen.

Følgende kode viser deg hvordan du bruker DateValue -funksjonen:

123456789 Sub UsingTheDateValueFunction ()Dim datoen som datotheDate = DateValue ("29. oktober 2010")Debug. Skriv ut datoenSlutt Sub

Resultatet er:

VBA Day -funksjon

Du kan bruke dagfunksjonen til å returnere dagen for en inngangsdato.

Syntaksen til dagfunksjonen er:

Dag (Dato_verdi) hvor:

  • Date_value - Datoen du vil trekke ut dagen fra.

Følgende kode viser deg hvordan du bruker dagfunksjonen:

123456789 Sub UsingTheDayFunction ()Dim theDay As IntegertheDay = Day ("10/12/2010")Debug. Skriv ut dagenSlutt Sub

Resultatet er:

VBA -timefunksjon

Du kan bruke timefunksjonen til å returnere timen for inndatatiden.

Syntaksen til timefunksjonen er:

Time (Tid) hvor:

  • Tid - tiden du vil trekke timen fra.

Følgende kode viser deg hvordan du bruker timefunksjonen:

123456789 Sub UsingTheHourFunction ()Dim theHour As IntegertheHour = Time ("2:14:17 AM")Debug. Skriv ut timenSlutt Sub

Resultatet er:

VBA Minuttfunksjon

Du kan bruke minuttfunksjonen til å returnere minuttverdien for en inngangstid.

Syntaksen til minuttfunksjonen er:

Minutt (tid) hvor:

  • Tid - Tiden du vil trekke ut minuttverdien fra.

Følgende kode viser deg hvordan du bruker minuttfunksjonen:

123456789 Sub UsingTheMinuteFunction ()Dim theMinuteValue As IntegertheMinuteValue = Minutt ("2:14:17 AM")Feilsøk. Skriv ut theMinuteValueSlutt Sub

Resultatet er:

VBA andre funksjon

Du kan bruke den andre funksjonen til å returnere den andre verdien av en inngangstid.

Syntaksen til den andre funksjonen er:

Andre (tid) hvor:

  • Tid - tiden du vil trekke ut den andre verdien fra.

Følgende kode viser deg hvordan du bruker den andre funksjonen:

123456789 Sub UsingTheSecondFunction ()Dim theSecondValue As IntegertheSecondValue = Second ("2:14:17 AM")Debug. Skriv ut den andre verdienSlutt Sub

Resultatet er:

VBA måned funksjon

Du kan bruke månedsfunksjonen til å returnere måneden for en inngangsdato.

Syntaksen til månedsfunksjonen er:

Måned (dato_verdi) hvor:

  • Date_value - Datoen du vil trekke ut måneden fra.

Følgende kode viser deg hvordan du bruker månedsfunksjonen:

12345678 Sub UsingTheMonthFunction ()Dim theMonth As IntegertheMonth = Måned ("18.11.2010")Debug. Skriv ut månedenSlutt Sub

Resultatet er:

VBA MonthName -funksjon

Du kan bruke MonthName -funksjonen til å returnere navnet på en måned fra et angitt månednummer.

Syntaksen til MonthName -funksjonen er:

Månedsnavn (Antall månedene, [Forkort]) der:

  • Number_of_month - En heltallsverdi mellom 1 og 12.
  • Forkort (Valgfri) - Angir om månedsnavnet skal forkortes. Hvis den er blank brukes standardverdien False.
12345678 Sub UsingTheMonthNameFunction ()Dim theMonthName som strengtheMonthName = MonthName (12, True)Debug. Skriv ut theMonthNameSlutt Sub

Resultatet er:

VBA TimeSerial -funksjon

TimeSerial -funksjonen tar en inndata time, minutt og sekund og returnerer en tid.

Syntaksen til TimeSerial -funksjonen er:

TimeSerial (Time, Minute, Second) hvor:

  • Time - En heltallsverdi mellom 0 og 23 som representerer timeverdien.
  • Minutt - En heltallsverdi mellom 0 og 59 som representerer minuttverdien.
  • Second - En heltallsverdi mellom 0 og 59 som representerer den andre verdien.

Følgende kode viser deg hvordan du bruker TimeSerial -funksjonen:

12345678 Sub UsingTheTimeSerialFunction ()Dim theTime As DatetheTime = TimeSerial (1, 10, 15)Debug. Skriv ut tidenSlutt Sub

Resultatet er:

VBA TimeValue -funksjon

TimeValue -funksjonen returnerer en tid fra en strengrepresentasjon av en dato eller et klokkeslett.

Syntaksen til TimeValue -funksjonen er:

TimeValue (Time) hvor:

  • Tid - En streng som representerer tiden.

Følgende kode viser deg hvordan du bruker TimeValue -funksjonen:

12345678 Sub UsingTheTimeValueFunction ()Dim theTime As DatetheTime = TimeValue ("22:10:17")Debug. Skriv ut tidenSlutt Sub

Resultatet er:

VBA ukedag funksjon

Du kan bruke funksjonen Ukedag til å returnere et helt tall fra 1 - 7 som representerer en ukedag fra en inndatoen.

Syntaksen til Weekday -funksjonen er:

Ukedag (dato, [første dag i uken]) der:

  • Dato - Datoen du vil trekke ut ukedagsverdien fra.
  • Første dag i uken (Valgfri) - En konstant som angir ukedagen funksjonen skal bruke som den første dagen i uken. Hvis blank søndag brukes som første dag i uken. Firstdayofweek kan være en av følgende verdier:

-vbSunday - bruker søndag som den første dagen i uken.
-vbMandag - bruker mandag som den første dagen i uken.
-vbTuesday - bruker tirsdag som den første dagen i uken.
-vbWednesday - bruker onsdag som den første dagen i uken.
-vbThursday - bruker torsdag som den første dagen i uken.
-vbFriday - bruker fredag ​​som den første dagen i uken.
-vbSaturday - bruker lørdag som den første dagen i uken.
-vbUseSystemDayOfTheWeek - bruker den første dagen i uken som er spesifisert av systemets innstillinger.

Følgende kode viser deg hvordan du bruker ukedagsfunksjonen:

1234567 Sub UsingTheWeekdayFunction ()Dim theWeekDay As IntegertheWeekDay = ukedag ("20.11.2019")Feilsøk. Skriv ut ukedagenSlutt Sub

Resultatet er:

VBA WeekdayName -funksjon

Du kan bruke funksjonen WeekdayName til å returnere navnet på en ukedag fra et angitt ukedagsnummer.

Syntaksen til funksjonen WeekdayName er:

WeekdayName (Weekday, [Forkort], [Firstdayoftheweek]) der:

  • Ukedag - En heltallsverdi mellom 1 og 7.
  • Forkort (Valgfri) -Spesifiserer om ukedagsnavnet skal forkortes. Hvis den er blank brukes standardverdien False.
  • Første dag i uken (Valgfri) - En konstant som angir ukedagen som funksjonen skal bruke som den første dagen i uken. Hvis blank søndag brukes som første dag i uken. Firstdayofweek kan være en av følgende verdier:

-vbSunday - bruker søndag som den første dagen i uken.
-vbMandag - bruker mandag som den første dagen i uken.
-vbTuesday - bruker tirsdag som den første dagen i uken.
-vbWednesday - bruker onsdag som den første dagen i uken.
-vbThursday - bruker torsdag som den første dagen i uken.
-vbFriday - bruker fredag ​​som den første dagen i uken.
-vbSaturday - bruker lørdag som den første dagen i uken.
-vbUseSystemDayOfTheWeek - bruker den første dagen i uken som er spesifisert av systemets innstillinger.

12345678 Sub UsingTheWeekdayNameFunction ()Dim theWeekdayName som strengtheWeekdayName = WeekdayName (4)Feilsøk. Skriv ut theWeekdayNameSlutt Sub

Resultatet er:

VBA årsfunksjon

Du kan bruke årfunksjonen til å returnere året for en inngangsdato.

Syntaksen for årsfunksjonen er:

År (dato_verdi) der:

  • Date_value - Datoen du vil trekke året fra.

Følgende kode viser deg hvordan du bruker årsfunksjonen:

12345678 Sub UsingTheYearFunction ()Dim året som heltallår = år ("11/12/2010")Feilsøk. Skriv ut åretSlutt Sub

Resultatet er:

Sammenligning av datoer i VBA

Du kan sammenligne datoer ved å bruke operatorene>, <, og = i VBA. Følgende kode viser deg hvordan du sammenligner to datoer i VBA.

12345678910111213141516171819 Sub ComparingDates ()Dim dateOne As DateDim dateTwo As DatedateOne = "10/10/2010"dateTwo = "11/11/2010"If dateOne> dateTwo ThenDebug.Print "dateOne is the later date"ElseIf dateOne = dateTwo ThenDebug.Print "De to datoene er like"EllersDebug.Print "dateTwo is the later date"Slutt omSlutt Sub

Lær mer om hvordan du formaterer datoer som strenger ved å se denne opplæringen.

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave