VBA DatePart-funksjon - Hvordan returnere spesifisert del av datoen?

Innholdsfortegnelse

Excel VBA DatePart-funksjon

DatePart i VBA brukes til å identifisere den delen av datoen for den gitte datoen gitt som et argument, datodelen kan være enten dager eller måneder eller år eller til og med timene minutter og sekunder, syntaksen til denne funksjonen klargjør veldig mye seg selv og det er som følger, Datepart (intervall, dato som argument).

Syntaks

Syntaksen til DatePart-funksjonen er gitt nedenfor:

  • Intervall: Dataene som skal sendes i et intervallargument er en strengtype, noe som betyr at dette argumentet kan inneholde alle gyldige verdier i det. Intervallet kan være av år, måned, kvartal, dag, uke, time, minutt, sekund.
  • Dato: Datoværdien som må evalueres.
  • firstdayofweek: Dette er en valgfri parameter. Dette beskriver den første dagen i uken. Dette kan til og med ignoreres. Hvis denne parameteren ignoreres, tar dette automatisk søndag som den første dagen i uken. Hvis du ønsker å endre det, kan denne parameteren brukes. Dette argumentet kan bestå av vbUseSystem 0.

Bruk NLS API-innstillingen

vbSunday (standard), vbMonday, vbTuesday, vbWednesday, vbThursday vbFriday, vbSaturday.
  • firstweekofyear: På samme måte, den øverste parameteren, dette er også en valgfri parameter. Dette beskriver den første uken i året. Denne parameteren kan også ignoreres. Hvis denne parameteren ignoreres, antar den at 1. januar er den første uken i året. Hvis du vil endre det, kan denne parameteren brukes.
    Dette argumentet kan bestå av følgende verdier.
    vbUseSystem, vbFirstJan1, vbFirstFourDays, vbFirstFullWeek.

Etter å ha gitt alle parametrene, vil datepart () returnere den numeriske verdien som hel dato eller år eller måned eller kvartal osv. Derfor vil returtypen til denne funksjonen være en numerisk verdi.

Hvordan bruke DatePart-funksjonen i VBA?

Eksempel 1

Det første eksemplet er å vise hele datoen og kvartalet i den måneden også.

For å oppnå dette, må vi skrive litt kode i Visual Basic for den Goto Developer-fanen, og deretter klikke på Visual Basic, så åpnes et vindu.

I det vinduet skriver du koden som vist nedenfor.

Kode:

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

I dette eksemplet har vi brukt datepart-funksjonen til å vise datoen og en del av datoen som er en fjerdedel av datoen. Dette viser hvilket kvartal av året som er datoen som kommer inn.

Hvis vi feilsøker koden, vil datoen vises som en komplett dato første gang koden utfører "Msgbox mydate" fordi den tilfeldige datoen er tildelt "mydate" -variabelen.

Deretter viser vi hvilket kvartal av året datoen kommer inn.

Når du kjører koden manuelt eller bruker hurtigtast F5, vil datoen vises som vist etter å ha klikket på ok. Deretter vises kvartal av datoen. Dette kan vises i skjermbildet nedenfor.

På samme måte kan kvartal, bare dato eller måned eller år også vises.

Eksempel 2

I dette eksemplet vil jeg legge inn datoen manuelt på kjøretiden.

Kode:

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

Her i dette eksemplet prøver vi å få datoen manuelt på kjøretid. Koden “TodayDate = InputBox (“ Enter a date: ”)” denne linjen indikerer at datoen kan legges inn manuelt,

Etter å ha tastet inn datoen manuelt, viser den datoens kvartal i en meldingsboks. Dette kan vises i skjermbildet nedenfor.

Som juni måned er i andre kvartal, dette viser to nd kvartal, som vist i skjermbildet over.

Eksempel 3

I dette eksemplet blir alle verdiene fylt ut i cellene.

Kode:

Privat underarbeidsbok_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 .Cells (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 funksjonen skiller også dato, måned og et år fra en bestemt dato.
  • Ved å bruke denne funksjonen skilles ikke datoen bare. Vi kan også få kvartal, dag, time, minutt og et sekund.

Ting å huske

  • Denne funksjonen kan bare brukes som en VBA-funksjon. I normal excel kan ikke dette brukes.
  • Datoene som er gitt som en verdi i denne funksjonen kan gis i hvilket som helst format som mm-dd-åååå-format eller DD-MM-ÅÅÅÅ-format osv.
  • Denne funksjonen vil skille alle verdiene hver for seg, for eksempel dato, måned, år eller tid, også en time, minutt, sekunder.
  • Dette er organisert under dato- og tidsfunksjoner i VBA i Microsoft Excel.

Interessante artikler...