วิธีใช้ eomonth ใน vba (พร้อมตัวอย่าง)
คุณสามารถใช้เมธอด EoMonth ใน VBA เพื่อส่งคืนวันสุดท้ายของเดือนสำหรับวันที่ที่ระบุได้
นี่เป็นวิธีทั่วไปในการใช้วิธีนี้ในทางปฏิบัติ:
Sub LastDayOfMonth()
Dim i As Integer
For i = 2 To 11
Range(" C " & i).Value = Application.WorksheetFunction.EoMonth(Range(" A " & i), 0)
Range(" C " & i).NumberFormat = " m/d/yyyy "
Next i
End Sub
มาโครนี้จะค้นหาวันสุดท้ายของเดือนสำหรับแต่ละวันที่ในช่วง A2:A11 และแสดงวันที่นั้นในเซลล์ที่เกี่ยวข้องในช่วง C2:C11
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: วิธีใช้ EoMonth ใน VBA
สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน Excel ซึ่งมีข้อมูลเกี่ยวกับยอดขายของบริษัทในวันที่ต่างกัน:
สมมติว่าเราต้องการค้นหาวันสุดท้ายของเดือนสำหรับแต่ละวันที่ในคอลัมน์ A และแสดงในคอลัมน์ C
เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:
Sub LastDayOfMonth()
Dim i As Integer
For i = 2 To 11
Range(" C " & i).Value = Application.WorksheetFunction.EoMonth(Range(" A " & i), 0)
Range(" C " & i).NumberFormat = " m/d/yyyy "
Next i
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
โปรดทราบว่าคอลัมน์ C มีวันสุดท้ายของเดือนสำหรับวันที่ที่สอดคล้องกันแต่ละวันในคอลัมน์ A
โปรดทราบว่าเราใช้คุณสมบัติ NumberFormat เพื่อแสดงค่าวันที่ในรูปแบบวันที่ที่รู้จักในคอลัมน์ C แทนที่จะเป็นหมายเลขซีเรียล ซึ่งเป็นรูปแบบเริ่มต้นใน Excel
โปรดทราบว่าอาร์กิวเมนต์สุดท้ายของวิธี EoMonth ระบุจำนวนเดือนข้างหน้าหรือข้างหลังเพื่อใช้ในการคำนวณวันสุดท้ายของเดือน
ในตัวอย่างนี้ เราใช้ค่า 0 เพื่อระบุว่าเราต้องการค้นหาวันสุดท้ายของเดือนปัจจุบัน
อย่างไรก็ตาม เราสามารถใช้ค่า -1 เพื่อระบุว่าเราต้องการค้นหาวันสุดท้ายของเดือนก่อนหน้า หรือค่า 1 เพื่อระบุว่าเราต้องการค้นหาวันสุดท้ายของเดือนถัดไป
หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มของวิธี EoMonth ได้ใน VBA ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
วิธีเปรียบเทียบวันที่ใน VBA
วิธีแปลงสตริงเป็นวันที่ใน VBA
วิธีคำนวณวันระหว่างวันที่สองวันใน VBA