ฟังก์ชัน VBA DatePart | วิธีการส่งคืนส่วนที่ระบุวันที่?

ฟังก์ชัน Excel VBA DatePart

DatePart ใน VBAใช้เพื่อระบุส่วนของวันที่สำหรับวันที่ที่ระบุไว้เป็นอาร์กิวเมนต์ส่วนวันที่อาจเป็นวันหรือเดือนหรือปีหรือแม้แต่ชั่วโมงนาทีและวินาทีไวยากรณ์ของฟังก์ชันนี้จะชี้แจงตัวเองเป็นอย่างมากและ มีดังต่อไปนี้ Datepart (Interval, Date as Argument)

ไวยากรณ์

ไวยากรณ์ของฟังก์ชัน DatePart ได้รับด้านล่าง:

  • ช่วงเวลา:ข้อมูลที่จะส่งผ่านในอาร์กิวเมนต์ช่วงเวลาคือประเภทสตริงซึ่งหมายความว่าอาร์กิวเมนต์นี้สามารถมีค่าที่ถูกต้องอยู่ในนั้น ช่วงเวลาอาจเป็นปีเดือนไตรมาสวันสัปดาห์ชั่วโมงนาทีวินาที
  • วันที่:ค่าวันที่ที่ต้องประเมิน
  • firstdayofweek:เป็นพารามิเตอร์ทางเลือก ซึ่งอธิบายถึงวันแรกของสัปดาห์ซึ่งอาจละเลยได้ หากไม่สนใจพารามิเตอร์นี้จะถือว่าวันอาทิตย์เป็นวันแรกของสัปดาห์โดยอัตโนมัติ หากคุณต้องการเปลี่ยนแปลงพารามิเตอร์นี้สามารถใช้ได้ อาร์กิวเมนต์นี้อาจประกอบด้วย vbUseSystem 0

ใช้การตั้งค่า NLS API

vbSunday (ค่าเริ่มต้น), วันจันทร์, วันอังคาร, วันอังคาร, วันพุธที่ผ่านมา, วันพุธวันพฤหัสบดี vbFriday, vb วันเสาร์
  • firstweekofyear: ในทำนองเดียวกันพารามิเตอร์ด้านบนนี่เป็นพารามิเตอร์ทางเลือกเช่นกัน สิ่งนี้อธิบายถึงสัปดาห์แรกของปี พารามิเตอร์นี้สามารถละเว้นได้ หากไม่สนใจพารามิเตอร์นี้จะถือว่าวันที่ 1 มกราคมเป็นสัปดาห์แรกของปี หากคุณต้องการเปลี่ยนแปลงพารามิเตอร์นี้สามารถใช้ได้

    อาร์กิวเมนต์นี้อาจประกอบด้วยค่าต่อไปนี้

    vbUseSystem, vbFirstJan1, vbFirstFourDays, vbFirstFullWeek

หลังจากให้พารามิเตอร์ทั้งหมด Datepart () จะส่งกลับค่าตัวเลขเช่นวันที่ทั้งปีหรือเดือนหรือไตรมาสเป็นต้นดังนั้นประเภทการส่งคืนของฟังก์ชันนี้จะเป็นค่าตัวเลข

จะใช้ฟังก์ชัน DatePart ใน VBA ได้อย่างไร?

คุณสามารถดาวน์โหลดเทมเพลต Excel VBA DatePart ได้ที่นี่ - เทมเพลต Excel VBA DatePart

ตัวอย่าง # 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 วันที่จะแสดงดังที่แสดงหลังจากคลิกตกลง ถัดไปไตรมาสของวันที่จะปรากฏขึ้นซึ่งสามารถแสดงในภาพหน้าจอด้านล่าง

ในทำนองเดียวกัน Quarter สามารถแสดงเฉพาะวันที่หรือเดือนหรือปีได้

ตัวอย่าง # 2

ในตัวอย่างนี้ฉันจะป้อนวันที่ด้วยตนเองในเวลาทำงาน

รหัส:

Sub date1_datePart () Dim TodayDate As Date 'ประกาศตัวแปร Dim Msg TodayDate = InputBox ("Enter a date:") Msg = "Quarter:" & DatePart ("q", TodayDate) MsgBox Msg End Sub

ในตัวอย่างนี้เรากำลังพยายามหาวันที่ด้วยตนเองในขณะรันไทม์ รหัส“ TodayDate = InputBox (“ Enter a date:”)” บรรทัดนี้ระบุว่าสามารถป้อนวันที่ได้ด้วยตนเอง

หลังจากป้อนวันที่ด้วยตนเองแล้วจะแสดง Quarter of the Date ในกล่องข้อความ สามารถแสดงได้ในภาพหน้าจอด้านล่าง

เนื่องจากเดือนมิถุนายนอยู่ในไตรมาสที่ 2 จะแสดงไตรมาสที่ 2 ดังที่แสดงในภาพหน้าจอด้านบน

ตัวอย่าง # 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 

วันที่จะถูกเติมลงในเซลล์ในแผ่นงาน excel เนื่องจากรหัสนั้นเขียนเป็น Active Sheet.cells ตามรหัสนี้วันที่ที่มีอยู่อาจเป็นเดือนปีหรือวันที่สามารถแทรกลงในเซลล์ที่กำหนดได้

ตัวอย่างเช่นในภาพหน้าจอด้านบน

วันจะถูกแทรกลงในเซลล์ (2, 2) ของแผ่นงาน excel ดังนั้นโค้ดจึงเขียนเป็น“ ActiveSheet.Cells (2, 2) .Value = Day (DummyDate)“.

เรียกใช้รหัสโดยใช้ปุ่ม F5 หรือด้วยตนเองและผลลัพธ์จะเป็นดังที่แสดงด้านล่าง

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.