Функция на 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?

Можете да изтеглите този шаблон на VBA DatePart Excel тук - VBA DatePart Excel шаблон

Пример # 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 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.