VBA DatePart-funktion - Sådan returneres specificeret del af dato?

Indholdsfortegnelse

Excel VBA DatePart-funktion

DatePart i VBA bruges til at identificere den del af datoen for den givne dato, der er angivet som et argument, datodelen kan være enten dage eller måneder eller år eller endda timeminutter og sekunder, syntaksen for denne funktion klargør meget sig selv og det er som følger, Datepart (interval, dato som argument).

Syntaks

Syntaksen for DatePart-funktionen er angivet nedenfor:

  • Interval: De data, der skal sendes i et intervalargument, er en strengtype, hvilket betyder, at dette argument kan indeholde alle gyldige værdier i det. Intervallet kan være af år, måned, kvartal, dag, uge, time, minut, sekund.
  • Dato: Datoværdien, der skal evalueres.
  • firstdayofweek: Dette er en valgfri parameter. Dette beskriver den første ugedag. Dette kan endda ignoreres. Hvis denne parameter ignoreres, tager dette automatisk søndag som den første ugedag. Hvis du ønsker at ændre det, kan denne parameter bruges. Dette argument kan bestå af vbUseSystem 0.

Brug indstillingen NLS API

vbSunday (standard), vbMonday, vbTuesday, vbWednesday, vbThursday vbFriday, vbSaturday.
  • firstweekofyear: Ligeledes den øverste parameter, dette er også en valgfri parameter. Dette beskriver den første uge i året. Denne parameter kan også ignoreres. Hvis denne parameter ignoreres, antager den, at 1. januar er den første uge i året. Hvis du vil ændre det, kan denne parameter bruges.
    Dette argument kan bestå af følgende værdier.
    vbUseSystem, vbFirstJan1, vbFirstFourDays, vbFirstFullWeek.

Efter at have givet alle parametrene, vil datepart () returnere den numeriske værdi såsom hele dato eller år eller måned eller kvartal osv. Derfor vil returneringstypen for denne funktion være en numerisk værdi.

Hvordan bruges DatePart-funktion i VBA?

Eksempel nr. 1

Det første eksempel er også at vise den komplette dato og kvartalet i den måned.

For at opnå dette skal vi skrive en kode i Visual Basic til den Goto Developer-fane og derefter klikke på Visual Basic, så åbnes et vindue.

I det vindue skal du skrive koden som vist nedenfor.

Kode:

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

I dette eksempel har vi brugt datepart-funktionen til at vise datoen og en del af datoen, der er en fjerdedel af datoen. Dette viser, hvilket kvartal af året er datoen, der kommer ind.

Hvis vi fejler koden, vises datoen som en komplet dato første gang, når koden udfører "Msgbox mydate", fordi den tilfældige dato er tildelt variablen "mydate".

Dernæst viser vi, hvilket kvartal af året den dato kommer under.

Når du kører koden manuelt eller bruger genvejstasten F5, vises datoen som vist efter at have klikket på ok. Dernæst vises kvartal af datoen. Dette kan vises i nedenstående skærmbillede.

På samme måde kan kvartal, kun dato eller måned eller år også vises.

Eksempel 2

I dette eksempel vil jeg indtaste datoen manuelt på kørselstidspunktet.

Kode:

Sub date1_datePart () Dim TodayDate As Date 'Erklær variabler. Dim Msg TodayDate = InputBox ("Indtast en dato:") Msg = "Quarter:" & DatePart ("q", TodayDate) MsgBox Msg End Sub

Her i dette eksempel forsøger vi at få datoen manuelt på kørselstidspunktet. Koden "TodayDate = InputBox (" Indtast en dato: ")" denne linje angiver, at datoen kan indtastes manuelt,

Efter indtastning af datoen manuelt viser den Datoets kvartal i en meddelelsesboks. Dette kan vises i nedenstående skærmbillede.

Da juni måned er i 2. kvartal, viser dette 2. kvartal som vist i ovenstående skærmbillede.

Eksempel 3

I dette eksempel udfyldes alle værdier i cellerne.

Kode:

Privat underarbejdsbog_Open () Dim DummyDate som dato DummyDate = ActiveSheet.Cells (2, 2) ActiveSheet.Cells (2, 2) .Value = Day (DummyDate) ActiveSheet.Cells (3, 2) .Value = Hour (DummyDate) ActiveSheet .Celler (4, 2) .Value = Minute (DummyDate) ActiveSheet.Cells (5, 2) .Value = Month (DummyDate) ActiveSheet.Cells (6, 2) .Value = Weekday (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.
  • Denne funktion adskiller også dato, måned og et år fra en bestemt dato.
  • Ved at bruge denne funktion adskilles datoen ikke kun. Vi kan også få kvartal, dag, time, minut og et sekund.

Ting at huske

  • Denne funktion kan kun bruges som en VBA-funktion. I normal excel kan dette ikke bruges.
  • De datoer, der er angivet som en værdi i denne funktion, kan gives i ethvert format såsom mm-dd-åååå-format eller DD-MM-ÅÅÅÅ-format osv.
  • Denne funktion adskiller alle værdierne separat, såsom dato, måned, år eller tid, også en time, minut, sekunder.
  • Dette er organiseret under dato- og tidsfunktioner i VBA i Microsoft Excel.

Interessante artikler...