วิธีใช้ networkdays ใน vba (พร้อมตัวอย่าง)
คุณสามารถใช้วิธี NetworkDays ใน VBA เพื่อค้นหาจำนวนวันทำการทั้งหมดระหว่างวันที่เริ่มต้นและวันที่สิ้นสุดที่ระบุ
โปรดทราบว่า วันทำการ ไม่รวมวันหยุดสุดสัปดาห์และวันหยุดนักขัตฤกษ์
นี่เป็นวิธีทั่วไปในการใช้วิธีนี้ในทางปฏิบัติ:
Sub CalculateNetworkDays()
Dim i As Integer
For i = 2 To 9
Range("C" & i) = WorksheetFunction.NetworkDays(Range("A" & i), Range("B" & i))
Next i
End Sub
ตัวอย่างนี้จะคำนวณจำนวนวันทำการระหว่างวันที่เริ่มต้นในช่วง A2:A9 และวันที่สิ้นสุดในช่วง B2:B9 และแสดงผลลัพธ์ในช่วง C2:C9
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: วิธีใช้ NetworkDays ใน VBA
สมมติว่าเรามีรายการวันที่เริ่มต้นและวันที่สิ้นสุดใน Excel ดังต่อไปนี้:
สมมติว่าเราต้องการใช้วิธี NetworkDays ใน VBA เพื่อคำนวณจำนวนวันทำการทั้งหมดระหว่างวันที่เริ่มต้นและสิ้นสุดของแต่ละแถว
เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:
Sub CalculateNetworkDays()
Dim i As Integer
For i = 2 To 9
Range("C" & i) = WorksheetFunction.NetworkDays(Range("A" & i), Range("B" & i))
Next i
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
คอลัมน์ C แสดงจำนวนวันทำการเต็มระหว่างวันที่เริ่มต้นและวันที่สิ้นสุดในแต่ละแถว
ตัวอย่างเช่น:
- จำนวนวันทำการระหว่างวันที่ 2/1/2566 ถึง 3/1/2566 คือ 2 (เนื่องจากทั้งสองวันนี้เป็นวันหยุดสุดสัปดาห์)
- จำนวนวันทำการระหว่างวันที่ 5/1/2566 ถึง 8/1/2566 คือ 2
- จำนวนวันทำการระหว่างวันที่ 01/10/2023 ถึง 01/20/2023 คือ 9
และอื่นๆ
หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มของวิธี NetworkDays ได้ใน VBA ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
VBA: วิธีรับชื่อเดือนจากวันที่
VBA: วิธีใช้ IsDate เพื่อตรวจสอบว่าเซลล์เป็นวันที่หรือไม่
VBA: วิธีใช้ mm/dd/yyyy เป็นรูปแบบวันที่