Excel VBA DatePart

Да предположим, че имаме данни в нашите данни и не знаем, че нито коя седмица, нито коя част от месеца е. Има различни начини да разберете това. В excel има някои сложни формули, които трябва да изпълним, за да открием това. Например, ако има дата, 02-февруари 2019 г., изчислението за откриване на четвърт за тази дата в excel е сложно. Въпреки това, VBA ни предоставя много удобна функция, наречена DatePart, която извършва такива изчисления за нас.

Вече обясних по-горе защо използваме функцията DatePart във VBA. Тази функция се използва, за да разберете частта от датата, било то ден, месец седмица тримесечие или дори часове или секунди. Тази функция връща цяло число като изход. За да разберем повече за тази функция, нека първо да разгледаме подробно синтаксиса на тази функция.

Синтаксис на DatePart в Excel VBA

Нека разгледаме по-долу синтаксиса за DatePart в Excel VBA.

Както виждаме, има общо четири аргумента, предоставени на тази функция. Първите два аргумента са задължителни, докато останалите два аргумента са незадължителни. Ако обаче не предоставим последните два аргумента, VBA има свои собствени стойности по подразбиране за него.

  • Интервал: Този аргумент е предоставен като низ на тази функция. Този аргумент може да бъде месец, седмица, година, ден или дори час или минути или секунди. Например за една четвърт синтаксисът ще бъде "q", или за годината синтаксисът ще бъде "yyyy" и така нататък.
  • Дата: Това е датата на въвеждане, ние предоставяме на тази функция, за чиято част искаме да разберем.
  • FirstDayofWeek: Това е незадължителен аргумент, който даваме на тази функция. Но ако не осигурим функцията firstdayofweek, VBA автоматично третира НЕДЕЛЯ като първия ден от седмицата. Съществуват различни синтаксиси за предоставяне на този аргумент, който е следният:

vbUseSystem (Този синтаксис използва NLS API НАСТРОЙКА), vbSunday (Това е аргументът по подразбиране), vbMonday, vbTuesday, vbWed Wednesday, vbTh Thursday, vbFriday, vbSaturday (Останалите всички тези аргументи са незадължителни да бъдат дадени)

  • FirstWeekofYear: Това също е незадължителен аргумент за тази функция. Но отново, ако не предоставим този аргумент, VBA автоматично счита първата седмица, която седмица е първата от 1 януари. Също така за този аргумент има различни синтаксиси, те са както следва:

vbUseSystem, vbFirstJan1 (Това е по подразбиране), vbFirstFourDays (Този аргумент започва от първата седмица, която има най-малко първите четири дни през новата година), vbFirstFullWeek (Този аргумент започва от първата пълна седмица на годината).

Сега научихме за функциите и нейните аргументи, нека да тестваме тази функция в примери.

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

По-долу са различните примери за използване на функцията DatePart в excel, използвайки VBA код.

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

Excel VBA DatePart - Пример №1

Нека вземем вход от потребителя като дата и част, която потребителят иска да разбере, тогава ще използваме функцията DatePart и ще покажем резултата.

Следвайте стъпките по-долу, за да използвате функцията DatePart в Excel VBA:

Стъпка 1: От раздела на разработчика в секцията на кода n щракнете върху Visual basic, който ще ни отведе до редактора на VB.

Стъпка 2: Веднъж в редактора на VB, поставете нов модул във VBA проекта, както е показано по-долу.

Стъпка 3: Сега кликнете два пъти върху модула и започнете да декларирате нова подпроцедура, както е показано по-долу.

Код:

 Sub Sample () Край Sub 

Стъпка 4: Определете три променливи една като String и дата, която ще съдържа частта за дата и дата на нашето въвеждане и друга като цяло число, което ще съхранява нашия изход.

Код:

 Sub Sample () Dim Dt As Date, Prt As String, Res As Integer End Sub 

Стъпка 5: В променливата за дата поискайте от потребителя информация за датата на въвеждане.

Код:

 Sub Sample () Dim Dt като дата, Prt като низ, Res като Integer Dt = InputBox ("Въведете дата") End Sub 

Стъпка 6: В Prt, който е част, вземете информация от потребителя за частта за дата, която трябва да разберем.

Код:

 Sub Sample () Dim Dt като дата, Prt като низ, Res като Integer Dt = InputBox („Въведете дата“) Prt = InputBox („Въвеждане на част от дата“) End Sub 

Стъпка 7: Сега в Variable Res, който е резултат, нека да открием резултата, използвайки функцията DatePart, както следва.

Код:

 Подпроба () Dim Dt като дата, Prt като низ, Res като Integer Dt = InputBox ("Въведете дата") Prt = InputBox ("Въведете дата част") Res = DatePart (Prt, Dt) Край Sub 

Стъпка 8: Показване на стойността, съхранена в Res, с помощта на функцията msgbox.

Код:

 Подпроба () Dim Dt като дата, Prt като низ, Res като цяло число Dt = InputBox ("Въведете дата") Prt = InputBox ("Въведете дата част") Res = DatePart (Prt, Dt) MsgBox Res End Sub 

Стъпка 9: Сега нека стартираме горния код чрез натискане на клавиша F5 или като кликнете върху бутона Възпроизвеждане и предоставете дата, както следва.

Стъпка 10: Въведете стойността на частта за дата.

Стъпка 11: Натиснете OK, за да видите резултата, както е показано по-долу.

Получаваме 1 като резултат от датата, която сме посочили като входящ продукт, пада през първото тримесечие на годината.

Excel VBA DatePart - Пример №2

Този път нека да предоставим датата директно на функцията в кода. Следвайте стъпките по-долу, за да използвате функцията DatePart в Excel VBA:

Стъпка 1: В същия модул дефинирайте друга подпроцедура, както е показано по-долу.

Код:

 Sub Sample1 () Край Sub 

Стъпка 2: Определете една променлива като цяло число и една променлива като Дата, както е показано по-долу.

Код:

 Sub Sample1 () Dim Dt като дата, Res като Integer End Sub 

Стъпка 3: Въведете дата на променливата.

Код:

 Sub Sample1 () Dim Dt като дата, Res като цяло число Dt = # 2/2/2019 # End Sub 

Стъпка 4: В променливата Res, нека изчислим седмицата на датата, използвайки функцията DatePart.

Код:

 Sub Sample1 () Dim Dt като дата, Res като цяло число Dt = # 2/2/2019 # Res = DatePart ("ww", Dt) Край Sub 

Стъпка 5: Показва стойността, съхранена в променливата, използвайки функцията msgbox.

Код:

 Sub Sample1 () Dim Dt като дата, Res като цяло число Dt = # 2/2/2019 # Res = DatePart ("ww", Dt) MsgBox Res End Sub 

Стъпка 6: Стартирайте горния код, като натиснете клавиша F5 или кликнете върху бутона Възпроизвеждане, за да получите следния резултат.

Датата, която предоставихме като вход, пада през петата седмица на годината.

Excel VBA DatePart - Пример №3

Нека опитаме някой пример от реалния живот. В лист 1 в клетка А1 използвах формулата = Now (), за да получа текущата дата и час и ще открием частта за датата за тази клетка.

Следвайте стъпките по-долу, за да използвате функцията DatePart в Excel VBA:

Стъпка 1: В същия модул дефинирайте друга подпроцедура, както следва.

Код:

 Sub Sample2 () Край Sub 

Стъпка 2: Определете две променливи една като Дата и друга като цяло число.

Код:

 Sub Sample2 () Dim Dt като дата, Res като Integer End Sub 

Стъпка 3: В променлива Dt съхраняване стойността на клетка A1 е както следва.

Код:

 Sub Sample2 () Dim Dt като дата, Res като Integer Dt = обхват („A1“). Стойност Край Sub 

Стъпка 4: Сега в променливата res нека да изчислим седмичната част за входа, използвайки функцията DatePart.

Код:

 Sub Sample2 () Dim Dt като дата, Res като Integer Dt = диапазон ("A1"). Стойност Res = DatePart ("ww", Dt) Край Sub 

Стъпка 5: Показване на стойността, съхранена в променливата с помощта на функцията Msgbox.

Код:

 Sub Sample2 () Dim Dt като дата, Res As Integer Dt = Обхват ("A1"). Стойност Res = DatePart ("ww", Dt) MsgBox Res End Sub 

Стъпка 6: Стартирайте горния код, като натиснете клавиша F5 или кликнете върху бутона Възпроизвеждане, за да получите следния резултат.

Настоящата дата е 25 юли, което е 30 -та седмица на годината 2019.

Неща, които трябва да запомните

  • Това е дата функция, но връща цяло число.
  • Първите два аргумента са задължителни, докато останалите два аргумента са незадължителни.
  • VBA има свои собствени аргументи по подразбиране, ако не предоставим последните два аргумента на функцията DatePart.
  • Тази функция е функция VBA, а не функция на работен лист.

Препоръчителни статии

Това е ръководство за VBA DatePart. Тук обсъждаме как да използвате функцията DatePart в Excel, използвайки VBA код, заедно с няколко практически примера и шаблон за изтегляне на excel. Можете да разгледате и другите ни предложени статии -

  1. VBA DateAdd
  2. ДНЕС Формула в Excel
  3. VBA Дата функция
  4. СЕГА Excel функция
  5. Как да използвате VBA формат на дата в Excel?
  6. Къде да напишете код във VBA?

Категория: