Excel VBA DatePart

Anta at vi har datoer i dataene våre, og vi vet ikke at verken hvilken uke eller hvilken del av måneden det er. Det er forskjellige måter å finne ut av dette. I Excel er det noen komplekse formler som vi må utføre for å finne det. For eksempel, hvis det er en dato, 2. februar-2019, er beregningen for å finne ut kvartalet for denne datoen i excel kompleks. Imidlertid gir VBA oss en veldig hendig funksjon kalt DatePart som utfører slike beregninger for oss.

Jeg har forklart ovenfor nå hvorfor vi bruker DatePart-funksjon i VBA. Denne funksjonen brukes til å finne ut delen av datoen, det være seg en dag, en måned ukes kvartal eller timer eller sekunder. Denne funksjonen returnerer heltallet som en utgang. For å forstå mer om denne funksjonen, la oss først gå gjennom syntaks for denne funksjonen i detalj.

Syntaks for DatePart i Excel VBA

La oss se på syntaks nedenfor for DatePart i Excel VBA.

Som vi ser er det totalt fire argumenter gitt for denne funksjonen. De to første argumentene er obligatoriske, mens de resterende to argumentene er valgfrie. Imidlertid, hvis vi ikke gir de to siste argumentene, har VBA sine egne standardverdier for det.

  • Intervall: Dette argumentet leveres som en streng til denne funksjonen. Dette argumentet kan være en måned, uke, år, dag eller til og med time eller minutter eller sekunder. For eksempel vil syntaksen for et kvarter være “q”, eller for året vil syntaksen være “åååå” og så videre.
  • Dato: Dette er inndatoen, vi gir denne funksjonen hvis del vi vil finne ut av.
  • FirstDayofWeek: Dette er et valgfritt argument som vi gir til denne funksjonen. Men hvis vi ikke gir den første dagen i uken til funksjonen, behandler VBA automatisk SUNDAY som den første ukens dag. Det er forskjellige syntaks for å gi dette argumentet som er som følger:

vbUseSystem (Denne syntaksen bruker NLS API SETTING), vbSunday (dette er standardargumentet), vbMonday, vbTuesday, vbWednesday, vbThursday, vbFriday, vbSaturday (Hvil alle disse argumentene er valgfrie å bli gitt)

  • FirstWeekofYear: Dette er også et valgfritt argument for denne funksjonen. Men igjen, hvis vi ikke gir dette argumentet, vurderer VBA automatisk den første uken, uansett hvilken uke som er den første fra 1. januar. Også for dette argumentet er det forskjellige syntakser, de er som følger:

vbUseSystem, vbFirstJan1 (Dette er standard), vbFirstFourDays (Dette argumentet starter med den første uken som har minst de første fire dagene på det nye året), vbFirstFullWeek (Dette argumentet starter med den første hele uken i året).

Nå har vi lært om funksjonene og dens argumenter, la oss teste denne funksjonen i eksempler.

Hvordan bruker jeg DatePart-funksjonen i Excel VBA?

Nedenfor er de forskjellige eksemplene du kan bruke DatePart-funksjonen i Excel med VBA-kode.

Du kan laste ned denne VBA DatePart Excel-malen her - VBA DatePart Excel-mal

Excel VBA DatePart - Eksempel # 1

La oss komme med innspill fra brukeren som dato og del som brukeren ønsker å finne ut, så bruker vi DatePart-funksjonen og viser resultatet.

Følg trinnene nedenfor for å bruke DatePart-funksjon i Excel VBA:

Trinn 1: Fra utvikler-fanen i kodesekvensen klikker du på Visual basic som tar oss til VB Editor.

Trinn 2: Når du er i VB Editor, setter du inn en ny modul i VBA-prosjektet som vist nedenfor.

Trinn 3: Dobbeltklikk nå på modulen og begynn å erklære en ny underprosess som vist nedenfor.

Kode:

 Undereksempel () Slutt Sub 

Trinn 4: Definer tre variabler en som streng og dato som vil inneholde datordelen og datoen for inndataene våre og en annen som et heltall som lagrer utdataene våre.

Kode:

 Underprøve () Dim Dt som dato, Prt som streng, res som heltall Slutt Sub 

Trinn 5: I datovariabelen ber inngangen fra brukeren om inndatoen.

Kode:

 Underprøve () Dim Dt som dato, Prt som streng, res som heltall Dt = InputBox ("Angi en dato") Slutt Sub 

Trinn 6: I Prt som er en del, kan du ta innspill fra brukeren for datodelen vi trenger å finne ut.

Kode:

 Underprøve () Dim Dt som dato, Prt som streng, res som heltall Dt = InputBox ("Angi en dato") Prt = InputBox ("Angi datodel") Slutt Sub 

Trinn 7: Nå i Variable Res, som er resultatet, la oss finne ut resultatet ved hjelp av DatePart-funksjonen som følger.

Kode:

 Underprøve () Dim Dt som dato, Prt som streng, res som heltall Dt = InputBox ("Angi en dato") Prt = InputBox ("Angi dato del") Res = DatePart (Prt, Dt) Slutt Sub 

Trinn 8: Vis verdien som er lagret i Res ved hjelp av msgbox-funksjonen.

Kode:

 Underprøve () Dim Dt som dato, Prt som streng, res som heltall Dt = InputBox ("Angi en dato") Prt = InputBox ("Angi dato del") Res = DatePart (Prt, Dt) MsgBox Res End Sub 

Trinn 9: La oss nå kjøre koden ovenfor ved å trykke på F5-tasten eller ved å klikke på Spill-knappen og oppgi en dato som følger.

Trinn 10: Angi verdien for Datodel.

Trinn 11: Trykk OK for å se resultatet som vist nedenfor.

Vi får 1 som resultat da datoen vi oppga som input faller i årets første kvartal.

Excel VBA DatePart - Eksempel # 2

Denne gangen la oss oppgi datoen direkte til funksjonen i koden. Følg trinnene nedenfor for å bruke DatePart-funksjon i Excel VBA:

Trinn 1: I den samme modulen definerer du en annen underprosess som vist nedenfor.

Kode:

 Sub Sample1 () Slutt Sub 

Trinn 2: Definer en variabel som heltall og en variabel som dato som vist nedenfor.

Kode:

 Underprøve1 () Dim Dt som dato, res som heltall Slutt Sub 

Trinn 3: Oppgi en dato til variabelen.

Kode:

 Underprøve1 () Dim Dt som dato, res som heltall Dt = # 2/2/2019 # Slutt Sub 

Trinn 4: I Res-variabelen, la oss beregne datoen for uken med DatePart-funksjonen.

Kode:

 Underprøve1 () Dim Dt som dato, res som heltall Dt = # 2/2/2019 # Res = DatePart ("ww", Dt) End Sub 

Trinn 5: Vis verdien som er lagret i variabelen ved hjelp av msgbox-funksjonen.

Kode:

 Undereksempel1 () Dim Dt som dato, res som heltall Dt = # 2/2/2019 # Res = DatePart ("ww", Dt) MsgBox Res End Sub 

Trinn 6: Kjør koden ovenfor ved å trykke på F5-tasten eller ved å klikke på Spill-knappen for å få følgende resultat.

Datoen vi oppga som innspill faller i årets femte uke.

Excel VBA DatePart - Eksempel # 3

La oss prøve et ekte eksempel. I ark 1 i celle A1 har jeg brukt formelen = Nå () for å få gjeldende dato og klokkeslett, og vi vil finne ut datodelen for denne cellen.

Følg trinnene nedenfor for å bruke DatePart-funksjon i Excel VBA:

Trinn 1: I samme modul, definer en annen underprosess som følger.

Kode:

 Sub Sample2 () Slutt Sub 

Trinn 2: Definer to variabler som Date og en annen som et heltall.

Kode:

 Sub Sample2 () Dim Dt As Date, Res As Integer End Sub 

Trinn 3: I variabel Dt lagre verdien av celle A1 er som følger.

Kode:

 Sub Sample2 () Dim Dt As Date, Res As Integer Dt = Range ("A1"). Verdi Slutt Sub 

Trinn 4: La oss nå i res-variabel beregne ukesdelen for inngangen ved hjelp av DatePart-funksjonen.

Kode:

 Sub Sample2 () Dim Dt As Date, Res As Integer Dt = Range ("A1"). Value Res = DatePart ("ww", Dt) End Sub 

Trinn 5: Vis verdien som er lagret i variabelen ved å bruke Msgbox-funksjonen.

Kode:

 Sub Sample2 () Dim Dt As Date, Res As Integer Dt = Range ("A1"). Value Res = DatePart ("ww", Dt) MsgBox Res End Sub 

Trinn 6: Kjør koden ovenfor ved å trykke på F5-tasten eller ved å klikke på Spill-knappen for å få følgende resultat.

Nåværende dato er 25. juli, som er den 30. uken i året 2019.

Ting å huske

  • Det er datofunksjon, men returnerer en heltallverdi.
  • De to første argumentene er obligatoriske, mens de resterende to argumentene er valgfrie.
  • VBA har sine egne standardargumenter hvis vi ikke gir de to siste argumentene til DatePart-funksjonen.
  • Denne funksjonen er en VBA-funksjon og ikke en regnearkfunksjon.

Anbefalte artikler

Dette er en guide til VBA DatePart. Her diskuterer vi hvordan du bruker DatePart-funksjonen i Excel ved å bruke VBA-kode sammen med få praktiske eksempler og nedlastbar Excel-mal. Du kan også gå gjennom andre foreslåtte artikler -

  1. VBA DateAdd
  2. I DAG Formel i Excel
  3. VBA-datofunksjon
  4. NÅ Excel-funksjon
  5. Hvordan bruke VBA-datoformat i Excel?
  6. Hvor skal jeg skrive kode i VBA?

Kategori: