VBA DatePart

Excel VBA DatePart-functie

DatePart in VBA wordt gebruikt om het deel van de datum voor de opgegeven datum als argument te identificeren, het datumgedeelte kan dagen of maanden of jaar zijn of zelfs het uur, minuten en seconden, de syntaxis van deze functie verduidelijkt zichzelf en het is als volgt, Datepart (interval, datum als argument).

Syntaxis

De syntaxis van de DatePart-functie wordt hieronder gegeven:

  • Interval: de gegevens die in een intervalargument moeten worden doorgegeven, zijn van het type string, wat betekent dat dit argument alle geldige waarden kan bevatten. Het interval kan zijn van jaar, maand, kwartier, dag, week, uur, minuut, seconde.
  • Datum: de datumwaarde die moet worden geëvalueerd.
  • firstdayofweek: Dit is een optionele parameter. Dit beschrijft de eerste dag van de week, dit kan zelfs worden genegeerd. Als deze parameter wordt genegeerd, wordt zondag automatisch als eerste dag van de week beschouwd. Als u dat wilt wijzigen, kunt u deze parameter gebruiken. Dit argument kan bestaan ​​uit vbUseSystem 0.

Gebruik de NLS API-instelling

vbSunday (standaard), vbMonday, vbTuesday, vbWoensdag, vbThursday vbFriday, vbSaturday.
  • firstweekofyear: Evenzo de bovenste parameter, dit is ook een optionele parameter. Dit beschrijft de eerste week van het jaar. Deze parameter kan ook worden genegeerd. Als deze parameter wordt genegeerd, wordt ervan uitgegaan dat 1 januari de eerste week van het jaar is. Als u dat wilt wijzigen, kunt u deze parameter gebruiken.

    Dit argument kan uit de volgende waarden bestaan.

    vbUseSystem, vbFirstJan1, vbFirstFourDays, vbFirstFullWeek.

Nadat alle parameters zijn opgegeven, retourneert Datepart () de numerieke waarde, zoals de hele datum of jaar of maand of kwartaal, enz. Het retourtype van deze functie zal dus een numerieke waarde zijn.

Hoe DatePart-functie in VBA te gebruiken?

U kunt deze VBA DatePart Excel-sjabloon hier downloaden - VBA DatePart Excel-sjabloon

Voorbeeld 1

Het eerste voorbeeld is om de volledige datum en het kwartaal van die maand weer te geven.

Om dit te bereiken moeten we wat code schrijven in Visual Basic, daarvoor Ga naar Developer Tab en klik dan op Visual Basic en dan zal een venster openen.

Schrijf in dat venster de code zoals hieronder weergegeven.

Code:

 Sub date_Datepart () Dim mydate As Variant mydate = # 12/25/2019 # MsgBox mydate MsgBox DatePart ("q", mydate) 'geeft kwartaal End Sub weer 

In dit voorbeeld hebben we de Datepart-functie gebruikt om de datum weer te geven en een deel van de datum dat een kwart van de datum is. Dit geeft aan in welk kwartaal van het jaar de datum binnenkomt.

Als we de code debuggen, wordt de datum weergegeven als de volledige datum voor de eerste keer wanneer de code "Msgbox mydate" uitvoert, omdat de willekeurige datum is toegewezen aan de variabele "mydate".

Vervolgens laten we zien in welk kwartaal van het jaar die datum valt.

Als u de code handmatig uitvoert of de sneltoets F5 gebruikt, wordt de datum weergegeven zoals weergegeven nadat u op ok hebt geklikt. Vervolgens zou het kwartaal van de datum worden weergegeven, dit kan worden weergegeven in de onderstaande schermafbeelding.

Evenzo kan ook Kwartaal, alleen de datum of maand of jaar worden weergegeven.

Voorbeeld # 2

In dit voorbeeld zal ik de datum handmatig invoeren tijdens de uitvoeringstijd.

Code:

Sub date1_datePart () Dim TodayDate As Date 'Variabelen declareren. Dim Msg TodayDate = InputBox ("Enter a date:") Msg = "Quarter:" & DatePart ("q", TodayDate) MsgBox Msg End Sub

In dit voorbeeld proberen we de datum tijdens runtime handmatig op te halen. De code "TodayDate = InputBox (" Enter a date: ")" deze regel geeft aan dat de datum handmatig kan worden ingevoerd,

Nadat de datum handmatig is ingevoerd, wordt het kwartaal van de datum weergegeven in een berichtvenster. Dit kan worden getoond in onderstaande screenshot.

Aangezien de maand juni in het 2e kwartaal valt, geeft dit het 2e kwartaal weer, zoals weergegeven in de bovenstaande schermafbeelding.

Voorbeeld # 3

In dit voorbeeld worden alle waarden in de cellen ingevuld.

Code:

 Private Sub Workbook_Open () Dim DummyDate As Date DummyDate = ActiveSheet.Cells (2, 2) ActiveSheet.Cells (2, 2) .Value = Dag (DummyDate) ActiveSheet.Cells (3, 2) .Value = Uur (DummyDate) ActiveSheet .Cells (4, 2) .Value = Minuut (DummyDate) ActiveSheet.Cells (5, 2) .Value = Maand (DummyDate) ActiveSheet.Cells (6, 2) .Value = Weekdag (DummyDate) End Sub 

De datums worden ingevuld in de cellen in het Excel-blad, daarvoor wordt de code geschreven als Active Sheet.cells. Met deze code kan de datum die aanwezig is jaar maand zijn of kan de datum in de gegeven cellen worden ingevoegd.

In de bovenstaande schermafbeelding,

De dag wordt ingevoegd in de cellen (2, 2) van het Excel-blad. Daarom wordt de code geschreven als "ActiveSheet.Cells (2, 2) .Value = Day (DummyDate)".

Voer de code uit met de F5-toets of handmatig en het resultaat is zoals hieronder weergegeven.

Het is standaard de datum van vandaag en het wordt weergegeven als 30 in (2,6) cellen.

Evenzo kan voor alle andere gegevens ook worden gevuld.

Gebruik van de DatePart-functie

  • De DatePart-functie kan worden gebruikt om het deel van de datum weer te geven zoals de naam aangeeft, dwz als alleen de dag of de maand of het jaar van de datum moet worden weergegeven, kan deze functie worden gebruikt.
  • Deze functie scheidt ook datum, maand en een jaar van een bepaalde datum.
  • Door deze functie te gebruiken, wordt niet alleen de datum gescheiden, we kunnen ook het kwartier, de dag, het uur, de minuut en een seconde krijgen.

Dingen om te onthouden

  • Deze functie kan alleen als VBA-functie worden gebruikt. In normaal Excel kan dit niet worden gebruikt.
  • De datums die in deze functie als een waarde worden opgegeven, kunnen in elk formaat worden opgegeven, zoals mm-dd-jjjj-formaat of DD-MM-JJJJ-formaat enz.
  • This function will separate all the values separately such as date, month, year or time also an hour, minute, seconds also.
  • This is organized under Date and Time Functions in VBA of Microsoft Excel.