VBA DatePart Function | Paano Ibalik ang Natukoy na Bahagi ng Petsa?
Excel VBA DatePart Function
DatePart sa VBA ay ginagamit upang makilala ang bahagi ng petsa para sa ibinigay na petsa na ibinigay bilang isang pagtatalo, ang bahagi ng petsa ay maaaring alinman sa mga araw o buwan o taon o kahit na ang oras minuto at segundo, ang syntax ng pagpapaandar na ito ay napaka linilinaw mismo at ito ay bilang sumusunod, Datepart (Agwat, Petsa bilang Argumento).
Syntax
Ang syntax ng pagpapaandar ng DatePart ay ibinibigay sa ibaba:
- Agwat: Ang data na naipapasa sa isang agwat ng agwat ay uri ng string na nangangahulugang ang argument na ito ay maaaring maglaman ng anumang wastong halaga dito. Ang agwat ay maaaring ng taon, buwan, quarter, araw, linggo, oras, minuto, segundo.
- Petsa: Ang halaga ng petsa na kailangang suriin.
- firstdayofweek: Ito ay isang opsyonal na parameter. Inilalarawan nito ang unang araw ng linggo, maaari rin itong balewalain. Kung hindi papansinin ang parameter na ito awtomatiko itong tumatagal ng Linggo bilang unang araw ng linggo. Kung nais mong baguhin iyon, maaaring magamit ang parameter na ito. Ang argument na ito ay maaaring binubuo ng vbUseSystem 0.
Gamitin ang setting ng NLS API
vbSunday (Default), vbMonday, vbTuesday, vbWednesday, vbThursday vbFriday, vbSaturday.
- firstweekofyear: Gayundin ang tuktok na parameter, ito rin ay isang opsyonal na parameter. Inilalarawan nito ang unang linggo ng taon. Ang parameter na ito ay maaari ring balewalain. Kung hindi papansinin ang parameter na ito, ipinapalagay nito na ang ika-1 ng Enero bilang unang linggo ng taon. Kung nais mong baguhin iyon maaaring magamit ang parameter na ito.
Ang argument na ito ay maaaring binubuo ng mga sumusunod na halaga.
vbUseSystem, vbFirstJan1, vbFirstFourDays, vbFirstFullWeek.
Matapos ibigay ang lahat ng mga parameter, ibabalik ng Datepart () ang numerong halaga tulad ng buong petsa o taon o buwan o isang-kapat, atbp Samakatuwid ang uri ng pagbabalik ng pagpapaandar na ito ay magiging isang numerong halaga.
Paano gamitin ang DatePart Function sa VBA?
Maaari mong i-download ang VBA DatePart Excel Template na ito dito - VBA DatePart Excel TemplateHalimbawa # 1
Ang Unang Halimbawa ay upang ipakita ang kumpletong petsa at ang isang-kapat din ng buwan na iyon.
Upang makamit ito kailangan naming magsulat ng ilang code sa Visual Basic, para sa Goto Developer Tab na iyon at pagkatapos ay mag-click sa Visual Basic at pagkatapos ay bubukas ang isang window.
Sa window na iyon isulat ang code tulad ng ipinakita sa ibaba.
Code:
Sub date_Datepart () I-dim mydate Bilang Variant mydate = # 12/25/2019 # MsgBox mydate MsgBox DatePart ("q", mydate) 'ay nagpapakita ng quarter End Sub
Sa halimbawang ito, ginamit namin ang pagpapaandar ng Datepart upang maipakita ang petsa at ilang bahagi ng petsa na isang-kapat ng petsa. Ipinapakita nito kung aling quarter ng taon ang darating na petsa.
Kung i-debug namin ang code, ipapakita ang petsa bilang kumpletong petsa sa unang pagkakataon kapag ang code ay nagpapatupad ng "Msgbox mydate" dahil ang random na petsa ay itinalaga sa variable na "mydate".
Susunod, ipinapakita namin kung aling quarter ng taon sa ilalim ng petsa na iyon.
Kapag pinatakbo mo ang code nang manu-mano o gumagamit ng shortcut key F5 pagkatapos ay ipapakita ang petsa tulad ng ipinapakita pagkatapos mag-click sa ok. Susunod, ipapakita ang isang-kapat ng petsa na ito ay maipapakita sa screenshot sa ibaba.
Gayundin, Quarter, ang petsa o buwan o taon lamang ang maaari ring ipakita.
Halimbawa # 2
Sa halimbawang ito, manu-manong ipasok ko ang petsa sa oras ng pagtakbo.
Code:
Sub date1_datePart () Madilim NgayonDate Bilang Petsa 'Ipahayag ang mga variable. Dim Msg TodayDate = InputBox ("Enter a date:") Msg = "Quarter:" & DatePart ("q", TodayDate) MsgBox Msg End Sub
Dito sa halimbawang ito, sinusubukan naming makuha ang petsa nang manu-mano sa oras ng pagtakbo. Ang code na "TodayDate = InputBox (" Magpasok ng isang petsa: ")" ang linyang ito ay nagpapahiwatig na ang petsa ay maaaring maipasok nang manu-mano,
Matapos ipasok nang manu-mano ang petsa ay ipinapakita nito ang Quarter ng Petsa sa isang mensahe Box. Maaari itong ipakita sa screenshot sa ibaba.
Tulad ng ang buwan ng Hunyo ay nasa ika-2 kwarter, ipinapakita nito ang ika-2 Quarter tulad ng ipinakita sa screenshot sa itaas.
Halimbawa # 3
Sa halimbawang ito, ang lahat ng mga halaga ay mapupuno sa mga cell.
Code:
Pribadong Sub Workbook_Open () Dim DummyDate Bilang Petsa 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. Mga Cell (5, 2). Value = Month (DummyDate) ActiveSheet. Mga Cell (6, 2). Value = Weekday (DummyDate) End Sub
Ang mga petsa ay napunan sa mga cell sa excel sheet, para sa code na iyon ay nakasulat bilang Active Sheet.cells. Sa pamamagitan ng code na ito ang petsa na naroroon ay maaaring maging buwan ng buwan o petsa ay maaaring ipasok sa mga ibinigay na mga cell.
Halimbawa, sa screenshot sa itaas,
Ang araw ay maipapasok sa mga cell (2, 2) ng excel sheet. Samakatuwid ang code ay nakasulat bilang "ActiveSheet.Cells (2, 2) .Value = Day (DummyDate)".
Patakbuhin ang code gamit ang F5 key o manu-mano at ang resulta ay tulad ng ipinapakita sa ibaba.
Ito ay sa pamamagitan ng default na pagkuha ng petsa ngayon at ito ay ipinapakita bilang 30 sa (2,6) cell.
Gayundin para sa lahat ng iba pang mga data maaari din itong mapunan.
Paggamit ng DatePart Function
- Maaaring magamit ang pagpapaandar ng DatePart upang maipakita ang bahagi ng petsa tulad ng ipinahihiwatig ng pangalan ibig sabihin, kung araw o buwan o taon lamang ng petsa ang kailangang ipakita pagkatapos magamit ang pagpapaandar na ito.
- Pinaghihiwalay din ng pagpapaandar na ito ang petsa, buwan at isang taon mula sa isang partikular na petsa.
- Sa pamamagitan ng paggamit ng pagpapaandar na ito ang petsa ay hindi lamang pinaghiwalay maaari din nating makuha ang isang-kapat, araw, oras, minuto at isang segundo.
Bagay na dapat alalahanin
- Ang pagpapaandar na ito ay maaari lamang magamit bilang isang VBA Function. Sa normal na excel, hindi ito magagamit.
- Ang mga petsa na ibinigay bilang isang halaga sa pagpapaandar na ito ay maaaring ibigay sa anumang format tulad ng mm-dd-yyyy format o DD-MM-YYYY format atbp.
- Ang function na ito ay paghiwalayin ang lahat ng mga halaga ng magkahiwalay tulad ng petsa, buwan, taon o oras din sa isang oras, minuto, segundo din.
- Inayos ito sa ilalim ng Mga Pag-andar ng Petsa at Oras sa VBA ng Microsoft Excel.