VBA DateSerial-funksjon - Hvordan bruke DateSerial-funksjonen? (Eksempler)

Innholdsfortegnelse

Excel VBA DateSerial-funksjon

DateSerial-funksjonen i VBA returnerer datoen fra verdiene som er gitt av brukerne. Vi må levere hva som er året, hva er dagen og hva som er måneden. Resultatet vil være basert på datoformatet til systemet ditt.

Nedenfor er syntaksen til DATESERIAL-funksjonen .

# 1 - År: vi må oppgi heltall som hva er året? Mens vi leverer heltall, må vi huske under ting.

  • Vi kan levere tall fra 0 til 9999.
  • Ett- og tosifrede tall fra 0 til 99 vil bli behandlet fra 1930 til 2029.
  • Det negative heltallet vil bli trukket fra år 2000. Hvis du for eksempel oppgir -1, blir resultatet 1999 på grunn av 2000 - 1 = 1999.

# 2 - Måned: vi må oppgi heltall som hva er måneden? Når vi skriver inn dette nummeret, må vi huske under ting.

  • Vi kan bare levere tall fra 1 til 12.
  • Hvis den oppgitte heltalsverdien er 0, vil dette representere måneden "desember" året før.
  • Hvis den oppgitte heltallverdien er -1, vil dette representere måneden "november" året før. På denne måten, når den negative verdien øker, vil den fortsette å representere måneden bakover.
  • Hvis det oppgitte nummeret er mer enn 12, dvs. hvis tallet er 13, vil dette representere måneden "januar" året etter. Hvis tallet er 14, vil det bli behandlet som måneden "februar" året etter.

# 3 - Dag: vi må oppgi heltall som hva er dagen? Når vi skriver inn dette nummeret, må vi huske under ting.

  • Vi kan angi heltall fra 1 til 31 for nåværende månedsdager.
  • Hvis tallet er 0, vil det representere den siste dagen i forrige måned.
  • Hvis tallet er -1, vil det representere den nest siste dagen i forrige måned.
  • Hvis du leverer den siste dagen i denne måneden +1, vil dette representere den første dagen i den påfølgende måneden. For eksempel, hvis den siste dagen i august er 31. og hvis du oppgir dagen som 31 + 1, vil den representere den første dagen i september.

Hvordan bruke DATESERIAL-funksjon i VBA?

Eksempel 1

For å bruke DATESERIAL-funksjonen, begynn å skrive makrokoden.

Trinn 1: Start underprosedyre

Opprett først en VBA-delprosedyre, som vist nedenfor.

Trinn 2: Erklær variabel

Nå erklær en variabel som DATE.

Trinn 3: Tilordne DateSerial-funksjonen til den variabelen.

Nå, for denne variabelen, tilordne DATESERIAL-funksjonen.

Trinn 4: Angi nå år-, måned- og dagverdiene i DateSerial-funksjonen

For YEAR supply 2019, for MONTH supply 08 og for DAY supply 05.

Trinn 5: Vis resultat i meldingsboksen

Vis nå resultatet av variabelen “Min dato” i meldingsboksen.

Kode:

Alternativ Eksplisitt Sub DateSerial_Example1 () Dim Mydate Som Date Mydate = DateSerial (2019, 8, 5) MsgBox Mydate End Sub
Trinn 6: Kjør koden

Kjør nå denne koden for å se datoen nedenfor.

Resultatet sier “8/5/2019”. I mitt system er datoformatet i form av “MM-DD-ÅÅÅÅ”, så det er derfor resultatet også er i samme format.

Vi kan også endre formatet på datoen ved å bruke FORMAT-funksjonen i VBA. Bruk FORMAT-funksjonen som nedenfor.

Kode:

Alternativ eksplisitt sub DateSerial_Example1 () Dim Mydate Som Date Mydate = DateSerial (2019, 8, 5) MsgBox Format (Mydate, "DD-MMM-YYYY") End Sub

Dette vil gjelde formatet i "DD-MMM-ÅÅÅÅ", og resultatet er som følger.

Eksempel 2

Vi kan også erklære variabler og levere verdiene til disse variablene. Se for eksempel på koden nedenfor.

Kode:

Sub DateSerial_Example2 () Dim Mydate Som Date Dim MyYear As Integer Dim MyMonth Som Integer Dim MyDay As Integer MyYear = 2019 MyMonth = 8 MyDay = 5 Mydate = DateSerial (MyYear, MyMonth, MyDay) MsgBox Format (Mydate, "DDY-MM ") End Sub

Instead of supplying year, month, and day directly to the DATESERIAL function, we have declared variables and assigned values to them. Then later, we have supplied variables to the DATESERIAL function.

This is how we can make use of variables in VBA to store values.

Example #3

Now we will experiment with the year. I will assign the year value as 1 and see the result.

Single & Double-digit numbers in YEAR represents a year from 1930 to 2029. So 01 means 2001, 02 means 2002, and so on.

Now let’s change the month number to 0 and see the result.

Look at the code here, Year is 2019, and the month is 0. But look at the result it says 05-Dec-2019, whereas a supplied year is 2019 it says 2018 i.e., the previous year.

Dette skyldes at siden vi har levert måneden som 0 DATESERIAL-funksjon tar måneden til forrige måned året før og endrer året også tilsvarende.

På denne måten kan du prøve forskjellige tall for å se virkningen av funksjonen.

Ting å huske

  • Du må vite hvilket antall som representerer hvilket år, måned og barnehage. Les syntaksforklaringen nøye for å forstå.
  • Resultatet vil være basert på datoformatet til systemet ditt. Hvis du vil ha et modifisert resultat, må du bruke FORMAT-funksjonen og nevne datoformatet i henhold til din bekvemmelighet.

Interessante artikler...