VBA DateSerial-funktion - Hur använder jag DateSerial-funktionen? (Exempel)

Innehållsförteckning

Excel VBA DateSerial-funktion

DateSerial-funktionen i VBA returnerar datumet från de värden som tillhandahålls av användarna. Vi måste tillhandahålla vad som är året, vad är dagen och vad som är månaden. Resultatet kommer att baseras på datumformatet för ditt system.

Nedan visas syntaxen för DATESERIAL-funktionen .

# 1 - År: vi måste ange heltalet som vad är året? Medan vi levererar heltal måste vi ha mindre i åtanke.

  • Vi kan leverera nummer från 0 till 9999.
  • En- och tvåsiffriga siffror från 0 till 99 behandlas från 1930 till 2029.
  • Det negativa heltalet kommer att subtraheras från år 2000. Om du till exempel anger -1, blir resultatet 1999 på grund av 2000 - 1 = 1999.

# 2 - Månad: vi måste ange heltalet som vad är månaden? När vi skriver in detta nummer måste vi tänka på nedan.

  • Vi kan bara leverera nummer från 1 till 12.
  • Om det angivna helvärdet är 0, kommer detta att representera månaden "december" föregående år.
  • Om det angivna heltalsvärdet är -1, kommer detta att representera månaden "november" föregående år. När detta negativa värde ökar kommer det att fortsätta att representera månaden bakåt.
  • Om det angivna numret är mer än 12, dvs. om numret är 13, kommer detta att representera månaden ”januari” året därpå. Om antalet är 14, kommer det att behandlas som månaden ”februari” året därpå.

# 3 - Dag: vi måste ange heltalet som vad är dagen? När vi skriver in detta nummer måste vi tänka på nedan.

  • Vi kan ange heltal från 1 till 31 för nuvarande månadsdagar.
  • Om siffran är 0 representerar den den sista dagen i föregående månad.
  • Om siffran är -1 representerar den näst sista dagen i föregående månad.
  • Om du anger den sista dagen i denna månad +1, kommer det att representera den första dagen i nästa månad. Till exempel, om den sista dagen i augusti är 31 och om du anger dagen som 31 + 1, kommer den att representera den första dagen i september.

Hur använder jag DATESERIAL-funktionen i VBA?

Exempel 1

För att använda DATESERIAL-funktionen, börja skriva makrokoden.

Steg 1: Starta underproceduren

Skapa först en VBA-delprocedur, som visas nedan.

Steg 2: Förklara variabel

Förklar nu en variabel som DATE.

Steg 3: Tilldela DateSerial-funktion till den variabeln.

Tilldela nu DATESERIAL-funktionen för den här variabeln.

Steg 4: Ange nu värdena för år, månad och dag i DateSerial-funktionen

För YEAR-leverans 2019, för MONTH supply 08 och för DAY supply 05.

Steg 5: Visa resultat i meddelandefältet

Visa nu resultatet av variabeln "Mitt datum" i meddelandefältet.

Koda:

Alternativ Explicit Sub DateSerial_Example1 () Dim Mydate As Date Mydate = DateSerial (2019, 8, 5) MsgBox Mydate End Sub
Steg 6: Kör koden

Kör nu den här koden för att se nedanstående datum.

Resultatet säger “8/5/2019”. I mitt system är datumformatet i form av “MM-DD-ÅÅÅÅ”, så det är därför resultatet också är i samma format.

Vi kan också ändra formatet på datumet genom att använda FORMAT-funktionen i VBA. Använd FORMAT-funktionen enligt nedan.

Koda:

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

Detta kommer att tillämpa formatet i “DD-MMM-ÅÅÅÅ,” och resultatet blir följande.

Exempel 2

Vi kan också deklarera variabler och leverera värdena till dessa variabler. Titta till exempel på koden nedan.

Koda:

Sub DateSerial_Example2 () Dim Mydate Som Date Dim MyYear Som Integer Dim MyMonth Som Integer Dim MyDay Som Integer MyYear = 2019 MyMonth = 8 MyDay = 5 Mydate = DateSerial (MyYear, MyMonth, MyDay) MsgBox Format (Mydate, "DDY-MM ") Avsluta 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.

Detta beror på att eftersom vi har angett månaden som 0 DATASERIE-funktion tar månaden till förra månaden föregående år och ändrar året också därefter.

Så här, prova olika siffror för att se effekten av funktionen.

Saker att komma ihåg

  • Du måste veta vilket antal som representerar vilket år, månad och daghem. Läs syntaxförklaringen noggrant för att förstå.
  • Resultatet kommer att baseras på datumformatet för ditt system. Om du vill ha ett ändrat resultat måste du använda FORMAT-funktionen och nämna datumformatet enligt din bekvämlighet.

Intressanta artiklar...