วิธีใช้ 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

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *