Funkcia VBA DatePart | Ako vrátiť zadanú časť dátumu?

Funkcia Excel VBA DatePart

DatePart vo VBA slúži na identifikáciu časti dátumu pre daný dátum poskytnutý ako argument, dátumová časť môže byť buď dni alebo mesiace alebo rok alebo dokonca hodinové minúty a sekundy, syntax tejto funkcie sa veľmi objasňuje a je to nasledovné, Datepart (interval, dátum ako argument).

Syntax

Syntax funkcie DatePart je uvedená nižšie:

  • Interval: Údaje, ktoré sa majú odovzdať v argumente intervalu, sú typu reťazca, čo znamená, že tento argument môže obsahovať akékoľvek platné hodnoty. Interval môže byť rok, mesiac, štvrťrok, deň, týždeň, hodina, minúta, sekunda.
  • Dátum: Hodnota dátumu, ktorú je potrebné vyhodnotiť.
  • firstdayofweek: Toto je voliteľný parameter. Toto popisuje prvý deň v týždni, dokonca ho možno ignorovať. Ak sa tento parameter ignoruje, automaticky sa bude brať nedeľa ako prvý deň v týždni. Ak to chcete zmeniť, môžete použiť tento parameter. Tento argument môže pozostávať z vbUseSystem 0.

Použite nastavenie NLS API

vbSunday (predvolené), vbMonday, vbTuesday, vbWednesday, vbThursday vbFriday, vbSaturday.
  • firstweekofyear: Rovnako ako horný parameter je to tiež voliteľný parameter. Toto popisuje prvý týždeň v roku. Tento parameter možno tiež ignorovať. Ak je tento parameter ignorovaný, predpokladá sa, že 1. január bude prvým týždňom v roku. Ak to chcete zmeniť, môžete použiť tento parameter.

    Tento argument môže pozostávať z nasledujúcich hodnôt.

    vbUseSystem, vbFirstJan1, vbFirstFourDays, vbFirstFullWeek.

Po zadaní všetkých parametrov vráti funkcia Datepart () číselnú hodnotu, ako je napríklad celý dátum alebo rok alebo mesiac alebo štvrťrok, atď. Návratovým typom tejto funkcie bude teda číselná hodnota.

Ako používať funkciu DatePart vo VBA?

Túto šablónu VBA DatePart Excel si môžete stiahnuť tu - Šablónu VBA DatePart Excel

Príklad č

Prvým príkladom je zobrazenie celého dátumu a štvrťroka daného mesiaca.

Aby sme to dosiahli, musíme napísať nejaký kód do jazyka Visual Basic, pre ktorý prejdeme na kartu Vývojár a potom klikneme na jazyk Visual Basic a otvorí sa okno.

V tomto okne napíšte kód, ako je uvedené nižšie.

Kód:

 Sub date_Datepart () Dim mydate As Variant mydate = # 12/25/2019 # MsgBox mydate MsgBox DatePart ("q", mydate) 'zobrazí štvrťrok End Sub 

V tomto príklade sme na zobrazenie dátumu a časti dátumu, ktorá je štvrtinou dátumu, použili funkciu Datepart. Toto zobrazuje, ktorý štvrťrok je dátumom.

Ak ladíme kód, dátum sa zobrazí ako úplný dátum pri prvom spustení kódu „Msgbox mydate“, pretože náhodný dátum je priradený k premennej „mydate“.

Ďalej zobrazujeme, do ktorého štvrťroka daného dátumu spadá.

Ak spustíte kód ručne alebo pomocou klávesovej skratky F5, dátum sa zobrazí po kliknutí na ok tak, ako je to znázornené. Ďalej sa zobrazí štvrtina dátumu, čo sa môže zobraziť na nasledujúcom obrázku obrazovky.

Rovnako je možné zobraziť aj štvrťrok, iba dátum alebo mesiac alebo rok.

Príklad č

V tomto príklade zadám dátum manuálne v čase spustenia.

Kód:

Sub date1_datePart () Dim TodayDate As Date 'Deklarovať premenné. Dim Msg TodayDate = InputBox ("Zadajte dátum:") Msg = "Štvrťrok:" & DatePart ("q", TodayDate) MsgBox Správa Koniec Sub

Tu sa v tomto príklade pokúšame získať dátum manuálne za behu. Kód „TodayDate = InputBox („ Zadajte dátum: “)“ tento riadok označuje, že dátum je možné zadať ručne,

Po manuálnom zadaní dátumu sa v okne so správou zobrazí štvrťrok dátumu. Toto môže byť zobrazené na nasledujúcej snímke obrazovky.

Pretože júnový mesiac je v 2. štvrťroku, zobrazuje sa 2. štvrťrok, ako je to znázornené na snímke vyššie.

Príklad č

V tomto príklade budú všetky hodnoty vyplnené v bunkách.

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.