วิธีจัดเรียงตามวันที่ใน vba (พร้อมตัวอย่าง)


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้ใน VBA เพื่อจัดเรียงแถวตามวันที่:

 Sub SortByDate()
Range(" A1:C10 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, Header:=xlYes
End Sub

ตัวอย่างนี้จะเรียงลำดับแถวในช่วง A1:C10 ตามวันที่ในคอลัมน์ A จากเก่าที่สุดไปหาใหม่ที่สุด

หากคุณต้องการเรียงลำดับแถวตามวันที่จากใหม่ที่สุดไปเก่าที่สุด คุณสามารถระบุ Order1:=xlDescending แทนได้

โปรดทราบว่า Header:=xlYes ระบุว่าบรรทัดแรกควรถือเป็นบรรทัดส่วนหัว

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

ตัวอย่าง: จัดเรียงตามวันที่โดยใช้ VBA

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

สมมติว่าเราต้องการเรียงลำดับแถวตามวันที่ จากเก่าไปหาใหม่ที่สุด

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

 Sub SortByDate()
Range(" A1:C10 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, Header:=xlYes
End Sub

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

โปรดทราบว่าขณะนี้แถวต่างๆ จะถูกจัดเรียงตามวันที่ จากวันที่เก่าที่สุดไปหาใหม่ที่สุด

หากต้องการเรียงลำดับแถวตามวันที่จากใหม่ที่สุดไปเก่าที่สุด เราสามารถระบุ Order1:=xlDescending :

 Sub SortByDate()
Range(" A1:C10 ").Sort Key1:=Range(" A1 "), Order1:=xlDescending, Header:=xlYes
End Sub

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

โปรดทราบว่าขณะนี้แถวต่างๆ จะถูกจัดเรียงตามวันที่ จากใหม่ที่สุดไปเก่าที่สุด

หมายเหตุ #1 : ในตัวอย่างนี้ เราจัดเรียงเป็นหนึ่งคอลัมน์ อย่างไรก็ตาม คุณสามารถระบุ คีย์ เพิ่มเติมเพื่อจัดเรียงในหลายคอลัมน์ได้

หมายเหตุ #2 : คุณสามารถดูเอกสารฉบับเต็มของวิธีการ เรียงลำดับ VBA ได้ที่นี่

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

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

VBA: วิธีจัดเรียงแผ่นงานตามหลายคอลัมน์
VBA: วิธีนับจำนวนแถวในช่วง
VBA: วิธีกรองคอลัมน์

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

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