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 objasní 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ú reťazcového typu, č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. To možno dokonca ignorovať. Ak je tento parameter ignorovaný, bude automaticky braný 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 je to horný parameter, ktorý je tiež voliteľným parametrom. Toto popisuje prvý týždeň v roku. Tento parameter možno tiež ignorovať. Ak sa tento parameter ignoruje, 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 celý dátum alebo rok alebo mesiac alebo štvrťrok atď. Preto návratovým typom tejto funkcie bude číselná hodnota.

Ako používať funkciu DatePart vo VBA?

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 túto kartu vývojárov a potom kliknúť na jazyk Visual Basic a potom sa otvorí 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 kompletný dátum po prvýkrát, keď kód vykoná príkaz „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. Toto je možné vidieť na nasledujúcom obrázku.

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í Štvrtina dátumu. Toto je možné vidieť na nasledujúcom obrázku.

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 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.
  • Táto funkcia tiež oddeľuje dátum, mesiac a rok od konkrétneho dátumu.
  • Použitím tejto funkcie sa nielen oddelí dátum. Môžeme tiež získať štvrťrok, deň, hodinu, minútu a sekundu.

Na čo treba pamätať

  • Túto funkciu je možné použiť iba ako funkciu VBA. V normálnom exceli sa to nedá použiť.
  • Dátumy, ktoré sú v tejto funkcii uvedené ako hodnota, je možné uviesť v akomkoľvek formáte, napríklad vo formáte mm-dd-rrrr alebo DD-MM-RRRR atď.
  • Táto funkcia oddelí všetky hodnoty osobitne, napríklad dátum, mesiac, rok alebo čas, tiež hodinu, minútu a sekundu.
  • Toto je usporiadané v rámci funkcií dátumu a času vo VBA programu Microsoft Excel.

Zaujímavé články...