วิธีจัดเรียงตามวันที่ใน 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: วิธีกรองคอลัมน์