Vba: วิธีจัดเรียงค่าตามตัวอักษร
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้ใน VBA เพื่อจัดเรียงค่าในช่วงตามตัวอักษร:
Sub SortAlphabetical()
Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, Header:=xlYes
End Sub
ตัวอย่างนี้จะเรียงลำดับแถวในช่วง A1:B11 ตามค่าในคอลัมน์ A ตามลำดับตัวอักษร (A ถึง Z)
หากต้องการเรียงลำดับค่าตามลำดับตัวอักษรแบบย้อนกลับ (Z ถึง A) คุณสามารถระบุ Order1:=xlDescending แทนได้
โปรดทราบว่า Header:=xlYes ระบุว่าบรรทัดแรกควรถือเป็นบรรทัดส่วนหัว
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: จัดเรียงค่าตามตัวอักษรโดยใช้ VBA
สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน Excel ที่มีข้อมูลเกี่ยวกับผู้เล่นบาสเกตบอลต่างๆ:
สมมติว่าเราต้องการเรียงลำดับแถวตามชื่อทีมตามลำดับตัวอักษร
เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:
Sub SortAlphabetical()
Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlAscending, Header:=xlYes
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
ตอนนี้แถวจะถูกจัดเรียงตามชื่อทีมตามตัวอักษร (A ถึง Z)
หากต้องการเรียงลำดับแถวตามลำดับตัวอักษรแบบย้อนกลับ (Z ถึง A) เราสามารถระบุ Order1:=xlDescending :
Sub SortAlphabetical()
Range(" A1:B11 ").Sort Key1:=Range(" A1 "), Order1:=xlDescending, Header:=xlYes
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
ตอนนี้จัดเรียงแถวตามชื่อทีมโดยเรียงลำดับตัวอักษรกลับกัน (Z ถึง A)
หมายเหตุ #1 : ในตัวอย่างนี้ เราจัดเรียงเป็นหนึ่งคอลัมน์ อย่างไรก็ตาม คุณสามารถระบุ คีย์ เพิ่มเติมเพื่อจัดเรียงในหลายคอลัมน์ได้
หมายเหตุ #2 : คุณสามารถดูเอกสารฉบับเต็มของวิธีการ เรียงลำดับ VBA ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
VBA: วิธีจัดเรียงแผ่นงานตามหลายคอลัมน์
VBA: วิธีนับจำนวนแถวในช่วง
VBA: วิธีกรองคอลัมน์