Vba: วิธีรับเดือนและปีนับจากวันที่


คุณสามารถใช้คุณสมบัติ NumberFormat ใน VBA เพื่อรับเดือนและปีนับจากวันที่ได้

นี่เป็นวิธีทั่วไปในการใช้คุณสมบัตินี้ในทางปฏิบัติ:

 SubGetMonthYear ()

Dim i As Integer

For i = 2 To 11
    Range(" C " & i).Value = DateValue(Range(" A " & i))
    Range(" C " & i).NumberFormat = " mm/yyyy "
Next i

End Sub

มาโครเฉพาะนี้จะค้นหาเดือนและปีสำหรับแต่ละวันที่ในช่วง A2:A11 และแสดงค่าเหล่านี้ในเซลล์ที่เกี่ยวข้องในช่วง C2:C11 .

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: เพิ่มวันในวันนี้ใน VBA

สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน Excel ซึ่งมีข้อมูลเกี่ยวกับยอดขายของบริษัทในวันที่ต่างกัน:

สมมติว่าเราต้องการรับเดือนและปีสำหรับแต่ละเซลล์ในคอลัมน์วันที่

เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:

 SubGetMonthYear ()

Dim i As Integer

For i = 2 To 11
    Range(" C " & i).Value = DateValue(Range(" A " & i))
    Range(" C " & i).NumberFormat = " mm/yyyy "
Next i

End Sub

เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:

โปรดทราบว่าคอลัมน์ C ประกอบด้วยเดือนและปีของวันที่ที่เกี่ยวข้องแต่ละวันในคอลัมน์ A

โปรดทราบว่าเราใช้คุณสมบัติ NumberFormat เพื่อจัดรูปแบบวันที่ด้วยตัวเลขสองหลักสำหรับเดือนและสี่หลักสำหรับปี

เราสามารถเลือกที่จะแสดงค่าเหล่านี้ในรูปแบบอื่นได้หากต้องการ

ตัวอย่างเช่น เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อแสดงเดือนด้วยตัวเลขหลักเดียว (หากเดือนมีเพียงตัวเลขเดียว) และปีที่มีตัวเลขสองหลัก:

 SubGetMonthYear ()

Dim i As Integer

For i = 2 To 11
    Range(" C " & i).Value = DateValue(Range(" A " & i))
    Range(" C " & i).NumberFormat = " m/yy "
Next i

End Sub

เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:

รู้สึกอิสระที่จะเล่นกับตัวเลือกการจัดรูปแบบต่างๆ เพื่อแสดงค่าเดือนและปีตามที่คุณต้องการ

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:

วิธีเปรียบเทียบวันที่ใน VBA
วิธีแปลงสตริงเป็นวันที่ใน VBA
วิธีคำนวณวันระหว่างวันที่สองวันใน VBA

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

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