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: วิธีกรองคอลัมน์

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

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