VBA DatePart-functie - Hoe een gespecificeerd deel van de datum te retourneren?

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 tekenreeks, 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 genomen. 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.

Na het geven van alle parameters, zal datepart () de numerieke waarde retourneren, zoals hele datum of jaar of maand of kwartaal, enz. Daarom zal het retourtype van deze functie een numerieke waarde zijn.

Hoe de DatePart-functie in VBA te gebruiken?

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 in Visual Basic schrijven voor die Goto Developer Tab en vervolgens op Visual Basic klikken, waarna een venster wordt geopend.

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 een 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 wordt het kwartaal van de datum weergegeven. Dit kan worden weergegeven in de onderstaande schermafbeelding.

Evenzo kan ook een kwartaal, alleen de datum of de maand of het 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 weergegeven in de onderstaande schermafbeelding.

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

The dates are filled in the cells in the excel sheet, for that the code is written as Active Sheet.cells. By this code, the date which is present maybe a year, month, or date can be inserted into the given cells.

For example, in the above screenshot,

The day is to be inserted in the cells ( 2, 2) of the excel sheet. Hence the code is written as “ ActiveSheet.Cells(2, 2).Value = Day(DummyDate) “ .

Run the code using the F5 key or manually, and the result would be as shown below.

It is, by default taking date today, and it is displaying as 30 in (2,6) cell.

Likewise, for all the other data also it can be filled.

Usage of DatePart Function

  • DatePart function can be used to display the part of the date as the name indicates, i.e., if only day or month or year of the date needs to be displayed, then this function can be used.
  • Deze functie scheidt ook datum, maand en een jaar van een bepaalde datum.
  • Door deze functie te gebruiken, wordt de datum niet alleen gescheiden. We kunnen ook het kwart, 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.
  • Deze functie scheidt alle waarden afzonderlijk, zoals datum, maand, jaar of tijd, ook een uur, minuut, seconden.
  • Dit is georganiseerd onder Datum- en tijdfuncties in VBA van Microsoft Excel.

Interessante artikelen...