Funcția VBA DatePart - Cum se returnează o parte specificată a datei?

Funcția Excel VBA DatePart

DatePart în VBA este folosit pentru a identifica partea de dată pentru data dată furnizată ca argument, partea de dată poate fi fie zile, fie luni, fie an, chiar și ore minute și secunde, sintaxa acestei funcții se clarifică foarte mult și este după cum urmează, Datepart (Interval, Data ca argument).

Sintaxă

Sintaxa funcției DatePart este dată mai jos:

  • Interval: datele care trebuie transmise într-un argument de interval sunt de tip șir, ceea ce înseamnă că acest argument poate conține orice valori valide în el. Intervalul poate fi de an, lună, trimestru, zi, săptămână, oră, minut, secundă.
  • Data: valoarea datei care trebuie evaluată.
  • firstdayofweek: Acesta este un parametru opțional. Aceasta descrie prima zi a săptămânii. Acest lucru poate fi chiar ignorat. Dacă acest parametru este ignorat, acesta va lua automat duminica ca prima zi a săptămânii. Dacă doriți să schimbați acest lucru, atunci acest parametru poate fi utilizat. Acest argument poate consta din vbUseSystem 0.

Utilizați setarea API NLS

vbDuminică (implicit), vbMonday, vbMarti, vbMiercuri, vbJoi vbVineri, vbSâmbătă.
  • firstweekofyear: La fel, parametrul de sus, acesta este și un parametru opțional. Aceasta descrie prima săptămână a anului. Acest parametru poate fi, de asemenea, ignorat. Dacă acest parametru este ignorat, presupune că 1 ianuarie este prima săptămână a anului. Dacă doriți să schimbați acest lucru, atunci acest parametru poate fi utilizat.
    Acest argument poate consta din următoarele valori.
    vbUseSystem, vbFirstJan1, vbFirstFourDays, vbFirstFullWeek.

După ce ați dat toți parametrii, datepart () va returna valoarea numerică, cum ar fi data întreagă sau anul sau luna sau trimestrul etc. Prin urmare, tipul de returnare al acestei funcții va fi o valoare numerică.

Cum se utilizează funcția DatePart în VBA?

Exemplul nr. 1

Primul exemplu este să afișați și data completă și trimestrul acelei luni.

Pentru a realiza acest lucru, trebuie să scriem un cod în Visual Basic pentru fila Goto Developer și apoi să facem clic pe Visual Basic, apoi se va deschide o fereastră.

În acea fereastră, scrieți codul așa cum se arată mai jos.

Cod:

Sub date_Datepart () Dim mydate As Variant mydate = # 12/25/2019 # MsgBox mydate MsgBox DatePart („q”, mydate) 'afișează trimestrul End Sub

În acest exemplu, am folosit funcția datepart pentru a afișa data și o parte a datei care este un sfert din dată. Aceasta afișează în care trimestru al anului este data la care intră.

Dacă depanăm codul, data va fi afișată ca dată completă pentru prima dată când codul execută „Msgbox mydate” deoarece data aleatorie este atribuită variabilei „mydate”.

În continuare, afișăm în ce trimestru al anului se află această dată.

Când rulați codul manual sau utilizând tasta de comandă rapidă F5, atunci data va fi afișată așa cum se arată după ce faceți clic pe ok. Apoi, va fi afișat trimestrul datei. Acest lucru poate fi afișat în captura de ecran de mai jos.

La fel, Trimestrul, numai data sau luna sau anul pot fi afișate.

Exemplul nr. 2

În acest exemplu, voi introduce manual data în timpul rulării.

Cod:

Sub date1_datePart () Dim TodayDate as Date 'Declarați variabilele. Dim Msg TodayDate = InputBox ("Introduceți o dată:") Msg = "Trimestru:" & DatePart ("q", TodayDate) MsgBox Msg End Sub

Aici, în acest exemplu, încercăm să obținem data manual în timpul rulării. Codul „TodayDate = InputBox („ Introduceți o dată: ”)” această linie indică faptul că data poate fi introdusă manual,

După introducerea manuală a datei, se afișează sfertul datei într-o casetă de mesaje. Acest lucru poate fi afișat în captura de ecran de mai jos.

Deoarece luna iunie este în al doilea trimestru, acesta afișează al doilea trimestru, așa cum se arată în captura de ecran de mai sus.

Exemplul nr. 3

În acest exemplu, toate valorile vor fi completate în celule.

Cod:

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.
  • Această funcție separă, de asemenea, data, luna și un an de o anumită dată.
  • Prin utilizarea acestei funcții, data nu este separată numai. De asemenea, putem obține sfertul, ziua, ora, minutul și o secundă.

Lucruri de amintit

  • Această funcție poate fi utilizată doar ca funcție VBA. În Excel normal, acest lucru nu poate fi folosit.
  • Datele care sunt date ca valoare în această funcție pot fi date în orice format, cum ar fi formatul mm-zz-aaaa sau formatul ZZ-LL-AAAA etc.
  • Această funcție va separa toate valorile separat, cum ar fi data, luna, anul sau ora și o oră, minut, secunde, de asemenea.
  • Aceasta este organizată sub Funcții de dată și oră în VBA din Microsoft Excel.

Articole interesante...