VBA DatePart függvény | Hogyan lehet visszaküldeni a dátum meghatározott részét?

Excel VBA DatePart függvény

A VBA-ban szereplő DatePart az adott dátum argumentumként megadott részének azonosítására szolgál, a dátumrész lehet nap vagy hónap vagy év, vagy akár óra perc és másodperc, ennek a függvénynek a szintaxisa nagyon tisztázza önmagát ez a következő, Datepart (Időköz, Dátum mint argumentum).

Szintaxis

A DatePart függvény szintaxisa az alábbiakban található:

  • Intervallum: Az intervallum argumentumban átadandó adatok karakterlánc típusúak, vagyis ez az argumentum bármilyen érvényes értéket tartalmazhat benne. Az intervallum lehet év, hónap, negyed, nap, hét, óra, perc, másodperc.
  • Dátum: A kiértékelendő dátumérték.
  • firstdayofweek: Ez egy opcionális paraméter. Ez a hét első napját írja le, ezt akár figyelmen kívül is hagyhatjuk. Ha ezt a paramétert figyelmen kívül hagyják, akkor ez a vasárnapot automatikusan a hét első napjának tekinti. Ha ezt meg szeretné változtatni, akkor ez a paraméter használható. Ez az argumentum a vbUseSystem 0 állhat.

Használja az NLS API beállítást

vbSunday (Alapértelmezett), vbMonday, vbTuesday, vbWednesday, vbThursday vbFriday, vbSaturday.
  • firstweekofyear: Hasonlóképpen a legfelső paraméter, ez is opcionális paraméter. Ez az év első hetét írja le. Ez a paraméter szintén figyelmen kívül hagyható. Ha ezt a paramétert figyelmen kívül hagyják, akkor azt feltételezi, hogy január 1-je az év első hete. Ha módosítani szeretné, akkor ez a paraméter használható.

    Ez az érv a következő értékekből állhat.

    vbUseSystem, vbFirstJan1, vbFirstFourDays, vbFirstFullWeek.

Az összes paraméter megadása után a Datepart () visszaadja a numerikus értéket, például egész dátumot, évet, hónapot vagy negyedévet, stb. Ezért ennek a függvénynek a visszatérési típusa numerikus érték lesz.

Hogyan kell használni a DatePart függvényt a VBA-ban?

Ezt a VBA DatePart Excel sablont innen töltheti le - VBA DatePart Excel sablont

1. példa

Az első példa az adott hónap teljes dátumának és negyedévének megjelenítése.

Ennek eléréséhez be kell írnunk egy kódot a Visual Basicbe, ahhoz a Goto Developer fülhöz, majd kattintson a Visual Basic gombra, és ekkor megnyílik egy ablak.

Ebben az ablakban írja be a kódot az alábbiak szerint.

Kód:

 Sub date_Datepart () Dim mydate mint variáns mydate = # 12/25/2019 # MsgBox mydate MsgBox DatePart ("q", mydate) 'megjeleníti az End End Sub negyedet 

Ebben a példában a Datepart függvényt használtuk a dátum és a dátum egy részének megjelenítésére, amely a dátum negyede. Ez megmutatja az év melyik negyedévét.

Ha hibakeresésbe vesszük a kódot, a dátum teljes dátumként jelenik meg először, amikor a kód végrehajtja az „Msgbox mydate” elemet, mert a véletlen dátumot a „mydate” változóhoz rendelték.

Ezután megmutatjuk, hogy az év melyik negyedévére esik ez a dátum.

Ha manuálisan futtatja a kódot, vagy az F5 gyorsbillentyűt használja, akkor a dátum az OK gombra kattintás után jelenik meg. Ezután megjelenik a dátum negyede, amelyet az alábbi képernyőképen láthat.

Hasonlóképpen, csak negyedév, csak dátum, hónap vagy év is megjeleníthető.

2. példa

Ebben a példában a dátumot kézzel fogom megadni a futás idején.

Kód:

Sub date1_datePart () Dim TodayDate As Date 'Változók deklarálása. Dim Msg TodayDate = InputBox ("Adjon meg egy dátumot:") Msg = "Quarter:" & DatePart ("q", TodayDate) MsgBox Msg End Sub

Itt ebben a példában megpróbáljuk manuálisan megszerezni a dátumot futás közben. A „TodayDate = InputBox („ Írjon be egy dátumot: ”)” kód jelzi, hogy a dátum manuálisan is megadható,

A dátum kézi megadása után a Dátum negyedét megjeleníti egy üzenetdobozban. Ez az alábbi képernyőképen látható.

Mivel a júniusi hónap a 2. negyedévben van, ez a 2. negyedet jeleníti meg, a fenti képernyőkép szerint.

3. példa

Ebben a példában az összes érték kitöltésre kerül a cellákban.

Kód:

 Private Sub Workbook_Open() Dim DummyDate As Date 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 may be 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 today date 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.
  • This function also separates date, month and a year from a particular date.
  • By using this function the date is not only separated we can also get the quarter, day, hour, minute and a second.

Things to Remember

  • This function can only be used as a VBA Function. In normal excel, this cannot be used.
  • The dates which are given as a value in this function can be given in any format such as mm-dd-yyyy format or DD-MM-YYYY format etc.
  • 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.