Vba: วิธีแปลงวันที่เป็นหมายเลขสัปดาห์
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้ใน VBA เพื่อแปลงวันที่เป็นตัวเลขสัปดาห์:
Sub FindWeekNumber()
Dim i As Integer
For i = 2 To 9
Range(" B " & i) = WorksheetFunction.WeekNum(Range(" A " & i))
Next i
End Sub
ตัวอย่างนี้จะค้นหาหมายเลขสัปดาห์สำหรับแต่ละวันที่ในช่วง A2:A9 และแสดงผลลัพธ์ในช่วง B2:B9
โปรดทราบว่าวิธี VBA WeekNum จะถือว่าสัปดาห์ต่างๆ เริ่มต้นในวันอาทิตย์
หากต้องการระบุวันอื่นเป็นวันเริ่มต้นสัปดาห์ คุณสามารถเพิ่มอาร์กิวเมนต์ที่สองให้กับเมธอด WeekNum ได้:
Sub FindWeekNumber()
Dim i As Integer
For i = 2 To 9
Range(" B " & i) = WorksheetFunction.WeekNum(Range(" A " & i), vbMonday)
Next i
End Sub
ตัวอย่างต่อไปนี้แสดงวิธีการใช้วิธี WeekNum เพื่อแปลงวันที่เป็นตัวเลขสัปดาห์ในทางปฏิบัติ
ตัวอย่าง: แปลงวันที่เป็นหมายเลขสัปดาห์ใน VBA
สมมติว่าเรามีคอลัมน์วันที่ต่อไปนี้ใน Excel:
สมมติว่าเราต้องการแปลงแต่ละวันที่ให้เป็นตัวเลขสัปดาห์และแสดงหมายเลขสัปดาห์ในคอลัมน์ B
เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:
Sub FindWeekNumber()
Dim i As Integer
For i = 2 To 9
Range(" B " & i) = WorksheetFunction.WeekNum(Range(" A " & i))
Next i
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
คอลัมน์ B จะแสดงหมายเลขสัปดาห์สำหรับแต่ละวันที่ในคอลัมน์ A โดยสมมติว่าสัปดาห์เริ่มต้นในวันอาทิตย์
หากคุณต้องการระบุวันอื่นเป็นวันเริ่มต้นสัปดาห์ เช่น วันจันทร์ คุณสามารถใช้ไวยากรณ์ต่อไปนี้:
Sub FindWeekNumber()
Dim i As Integer
For i = 2 To 9
Range(" B " & i) = WorksheetFunction.WeekNum(Range(" A " & i), vbMonday)
Next i
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
ตอนนี้คอลัมน์ B จะแสดงหมายเลขสัปดาห์สำหรับแต่ละวันที่ในคอลัมน์ B โดยสมมติว่าสัปดาห์เริ่มต้นในวันจันทร์
หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับวิธี VBA WeekNum ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
วิธีเปรียบเทียบวันที่ใน VBA
วิธีแปลงสตริงเป็นวันที่ใน VBA
วิธีคำนวณวันระหว่างวันที่สองวันใน VBA