VBA DateSerial

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 är 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 heltalsvärdet är 0 representerar detta månaden "december" föregående år.
  • Om det angivna heltalsvärdet är -1 kommer det att representera månaden "november" föregående år. Så här när det negativa värdet ökar kommer det att fortsätta 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” påföljande år, om antalet är 14 kommer det att behandlas som månaden ”februari” påföljande år.

# 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 kommer den att representera den sista dagen i föregående månad.
  • Om siffran är -1 kommer den att representera 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?

Du kan ladda ner denna VBA DateSerial Excel-mall här - VBA DateSerial Excel-mall

Exempel nr 1

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

Steg 1: Starta underproceduren

Skapa först en VBA-delprocedur enligt nedan.

Steg 2: Förklara variabel

Förklar nu en variabel som DATE.

Steg 3: Tilldela DateSerial-funktion till den variabeln.

Nu tilldelas DATESERIAL-funktionen för denna variabel.

Steg 4: Ange nu å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 datumformatet 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 som följer.

Exempel 2

Vi kan också deklarera variabler och leverera värdena till dessa variabler. För ett exempel, se nedanstående kod.

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 

Istället för att leverera år, månad och dag direkt till DATESERIAL-funktionen har vi deklarerat variabler och tilldelat värden till dem. Senare har vi levererat variabler till DATESERIAL-funktionen.

Så här kan vi använda variabler i VBA för att lagra värden.

Exempel # 3

Nu kommer vi att experimentera med året. Jag kommer att tilldela årsvärdet som 1 och se resultatet.

En- och tvåsiffriga siffror i ÅR representerar ett år från 1930 till 2029. Så 01 betyder 2001, 02 betyder 2002 och så vidare.

Låt oss nu ändra månadens nummer till 0 och se resultatet.

Titta på koden här, år är 2019 och månad är 0. Men titta på resultatet står det 05 dec-2019, medan ett leveransår är 2019 står det 2018 dvs föregående år.

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 provar du olika siffror för att se funktionens inverkan.

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 modifierat resultat måste du använda FORMAT-funktionen och nämna datumformatet enligt din bekvämlighet.