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 található 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 is, ennek a függvénynek a szintaxisa nagyon tisztázza önmagát, és 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 lehet hagyni. 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 ezen változtatni szeretne, 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õbb 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 ezen változtatni szeretne, 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?

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, akkor a dátum teljes dátumként jelenik meg először, amikor a kód végrehajtja az „Msgbox mydate” nevet, 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 az ok gombra kattintva a dátum az ábrán látható módon jelenik meg. Ezután a dátum negyede jelenik meg. Ez 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ó,

After entering the date manually, it displays the Quarter of the Date in a message Box. This can be shown in the below screenshot.

As the June month is in the 2nd quarter, this displays the 2nd Quarter, as shown in the above screenshot.

Example #3

In this example, all the values will be filled up in the cells.

Code:

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 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.
  • Ez a funkció elkülöníti a dátumot, a hónapot és az évet egy adott dátumtól.
  • Ennek a funkciónak a használatával a dátumot nem csak elválasztják egymástól. Megkaphatjuk a negyedet, napot, órát, percet és egy másodpercet is.

Dolgok, amikre emlékezni kell

  • Ez a funkció csak VBA funkcióként használható. Normál excelben ez nem használható.
  • A függvényként értékként megadott dátumok bármilyen formátumban megadhatók, például mm-nn-éééé formátumban vagy NN-HH-ÉÉÉÉ formátumban stb.
  • Ez a funkció külön választja el az összes értéket, például a dátumot, a hónapot, az évet vagy az időt, valamint egy órát, percet, másodpercet is.
  • Ezt a Microsoft Excel VBA dátum- és időfüggvényei szervezik.

érdekes cikkek...