Функция на VBA DatePart - Как да върна определена част от датата?

Функция на Excel VBA DatePart

DatePart във VBA се използва за идентифициране на частта от датата за дадената дата, предоставена като аргумент, частта с датата може да бъде или дни или месеци или година или дори часови минути и секунди, синтаксисът на тази функция се изяснява много и той е както следва, Datepart (интервал, дата като аргумент).

Синтаксис

Синтаксисът на функцията DatePart е даден по-долу:

  • Интервал: Данните, които трябва да бъдат предадени в аргумент за интервал, са тип низ, което означава, че този аргумент може да съдържа всякакви валидни стойности в него. Интервалът може да бъде от година, месец, тримесечие, ден, седмица, час, минута, секунда.
  • Дата: Стойността на датата, която трябва да бъде оценена.
  • firstdayofweek: Това е незадължителен параметър. Това описва първия ден от седмицата. Това може дори да се пренебрегне. Ако този параметър бъде пренебрегнат, това автоматично взема неделя за първи ден от седмицата. Ако искате да промените това, тогава този параметър може да се използва. Този аргумент може да се състои от vbUseSystem 0.

Използвайте настройката на API на NLS

vbSunday (по подразбиране), vbMonday, vbTuesday, vbWednesday, vbThursday vbFriday, vbSaturday.
  • firstweekofyear: По същия начин, горният параметър, това също е незадължителен параметър. Това описва първата седмица от годината. Този параметър също може да бъде игнориран. Ако този параметър бъде пренебрегнат, той приема, че 1-ви януари е първата седмица от годината. Ако искате да промените това, тогава този параметър може да се използва.
    Този аргумент може да се състои от следните стойности.
    vbUseSystem, vbFirstJan1, vbFirstFourDays, vbFirstFullWeek.

След като даде всички параметри, datepart () ще върне числовата стойност като цяла дата или година или месец или тримесечие и т.н. Следователно типът на връщане на тази функция ще бъде числова стойност.

Как да използвам функцията DatePart във VBA?

Пример # 1

Първият пример е да се покаже пълната дата и тримесечието на този месец.

За да постигнем това, трябва да напишем код в Visual Basic за този раздел Goto Developer и след това да кликнете върху Visual Basic и след това ще се отвори прозорец.

В този прозорец напишете кода, както е показано по-долу.

Код:

Sub date_Datepart () Dim mydate As Variant mydate = # 12/25/2019 # MsgBox mydate MsgBox DatePart ("q", mydate) 'показва тримесечието End Sub

В този пример използвахме функцията datepart, за да покажем датата и част от датата, която е четвърт от датата. Това показва кое тримесечие на годината е датата, която влиза.

Ако отстраним грешките в кода, датата ще се покаже като пълна дата за първи път, когато кодът изпълни „Msgbox mydate“, тъй като случайната дата е присвоена на променливата „mydate“.

След това показваме коя четвърт от годината е тази дата.

Когато стартирате кода ръчно или с помощта на клавиш за бърз достъп F5, тогава датата ще се покаже, както е показано след щракване върху ok. След това ще се покаже тримесечието на датата. Това може да бъде показано на екрана по-долу.

По същия начин, тримесечие, може да се покаже само дата или месец или година.

Пример # 2

В този пример ще въведа датата ръчно по време на изпълнение.

Код:

Sub date1_datePart () Dim TodayDate As Date 'Деклариране на променливи. Dim Msg TodayDate = InputBox ("Въведете дата:") Msg = "Quarter:" & DatePart ("q", TodayDate) MsgBox Msg End Sub

Тук в този пример се опитваме да получим ръчно датата по време на изпълнение. Кодът „TodayDate = InputBox („ Въведете дата: “)“ този ред показва, че датата може да се въведе ръчно,

След въвеждане на датата ръчно, тя показва тримесечието на датата в полето за съобщения. Това може да бъде показано на екрана по-долу.

Тъй като месец юни е във второто тримесечие, това показва второто тримесечие, както е показано на горната екранна снимка.

Пример # 3

В този пример всички стойности ще бъдат попълнени в клетките.

Код:

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.
  • Тази функция също така разделя датата, месеца и годината от определена дата.
  • Чрез използването на тази функция датата не се разделя само. Също така можем да получим четвърт, ден, час, минута и секунда.

Неща за запомняне

  • Тази функция може да се използва само като VBA функция. В нормален Excel това не може да се използва.
  • Датите, които са дадени като стойност в тази функция, могат да бъдат дадени във всякакъв формат като mm-dd-yyyy формат или DD-MM-YYYY формат и т.н.
  • Тази функция ще отдели всички стойности поотделно, като дата, месец, година или час също час, минута, секунди също.
  • Това е организирано под Функции за дата и час във VBA на Microsoft Excel.

Интересни статии...