VBA DateSerial-functie - Hoe de DateSerial-functie te gebruiken? (Voorbeelden)

Excel VBA DateSerial-functie

DateSerial-functie in VBA retourneert de datum van de waarden die door de gebruikers zijn opgegeven. We moeten aangeven wat het jaar is, wat de dag is en wat de maand is. Het resultaat is gebaseerd op de datumnotatie van uw systeem.

Hieronder vindt u de syntaxis van de functie DATESERIAL .

# 1 - Jaar: we moeten het gehele getal invoeren als wat is het jaar? Bij het leveren van gehele getallen moeten we onderstaande dingen in gedachten houden.

  • We kunnen nummers van 0 tot 9999 leveren.
  • Getallen van één en twee cijfers van 0 tot 99 worden van 1930 tot 2029 behandeld.
  • Het negatieve gehele getal wordt afgetrokken van het jaar 2000. Als u bijvoorbeeld -1 opgeeft, is het resultaat 1999 omdat 2000 - 1 = 1999.

# 2 - Maand: we moeten het gehele getal invoeren, want wat is de maand? Bij het invoeren van dit nummer moeten we onderstaande zaken in gedachten houden.

  • We kunnen alleen nummers van 1 tot 12 leveren.
  • Als de opgegeven gehele waarde 0 is, dan is dit de maand “december” van het voorgaande jaar.
  • Als de opgegeven gehele waarde -1 is, dan vertegenwoordigt dit de maand "november" van het voorgaande jaar. Op deze manier, wanneer de negatieve waarde toeneemt, blijft deze de achterwaartse jaarmaand vertegenwoordigen.
  • Als het opgegeven nummer meer is dan 12, dwz als het nummer 13 is, dan vertegenwoordigt dit de maand "januari" van het volgende jaar. Als het nummer 14 is, wordt het behandeld als de maand ‘februari’ van het volgende jaar.

# 3 - Dag: we moeten het gehele getal invoeren als wat is de dag? Bij het invoeren van dit nummer moeten we onderstaande zaken in gedachten houden.

  • We kunnen gehele getallen van 1 tot 31 invoeren voor de huidige maanddagen.
  • Als het nummer 0 is, staat dit voor de laatste dag van de vorige maand.
  • Als het nummer -1 is, vertegenwoordigt dit de voorlaatste dag van de vorige maand.
  • Als u de laatste dag van deze maand +1 opgeeft, is dit de eerste dag van de volgende maand. Als de laatste dag van augustus bijvoorbeeld 31 is en als u de dag opgeeft als 31 + 1, dan is dit de eerste dag van september.

Hoe de DATESERIAL-functie in VBA te gebruiken?

Voorbeeld 1

Om de DATESERIAL-functie te gebruiken, begint u met het schrijven van de macrocode.

Stap 1: Start de subprocedure

Maak eerst een VBA-subprocedure, zoals hieronder wordt weergegeven.

Stap 2: Variabele declareren

Declareer nu een variabele als DATE.

Stap 3: Wijs de DateSerial-functie toe aan die variabele.

Wijs nu voor deze variabele de functie DATESERIAL toe.

Stap 4: Voer nu de jaar-, maand- en dagwaarden in de DateSerial-functie in

Voor JAAR levering 2019, voor MAAND levering 08, en voor DAG levering 05.

Stap 5: Toon resultaat in berichtenvenster

Toon nu het resultaat van de variabele "Mijn datum" in het berichtvenster.

Code:

Optie Expliciete Sub DateSerial_Example1 () Dim Mydate As Date Mydate = DateSerial (2019, 8, 5) MsgBox Mydate End Sub
Stap 6: voer de code uit

Voer nu deze code uit om de onderstaande datum te zien.

Het resultaat zegt "8/5/2019". In mijn systeem is datumnotatie in de vorm van "MM-DD-JJJJ", dus daarom is het resultaat ook in hetzelfde formaat.

We kunnen ook het formaat van de datum wijzigen met behulp van de FORMAT-functie in VBA. Pas de FORMAT-functie toe zoals hieronder.

Code:

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

Dit past de indeling toe in "DD-MMM-JJJJ" en het resultaat is als volgt.

Voorbeeld 2

We kunnen ook variabelen declareren en de waarden aan die variabelen leveren. Kijk bijvoorbeeld naar de onderstaande code.

Code:

Sub DateSerial_Example2 () Dim MyYear As Date Dim MyYear As Integer Dim MyMonth As Integer Dim MyDay As Integer MyYear = 2019 MyMonth = 8 MyDay = 5 Mydate = DateSerial (MyYear, MyMonth, MyDay) MsgBox Format (Mydate, "DD-MMM-YYYY ") Einde 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.

Dit komt omdat, aangezien we de maand als 0 DATAERIAL hebben opgegeven, de functie de maand naar de laatste maand van het voorgaande jaar neemt en het jaar dienovereenkomstig ook verandert.

Probeer op deze manier verschillende getallen om de impact van de functie te zien.

Dingen om te onthouden

  • U moet weten welk nummer staat voor welk jaar, maand en kinderopvang. Lees de uitleg van de syntaxis zorgvuldig om deze te begrijpen.
  • Het resultaat is gebaseerd op de datumnotatie van uw systeem. Als u een gewijzigd resultaat wilt, moet u de FORMAT-functie toepassen en de datumnotatie vermelden zoals u dat wilt.

Interessante artikelen...