สารบัญ
บทช่วยสอนแสดงวิธีจัดเรียงเวิร์กชีต Excel ตามลำดับตัวอักษรอย่างรวดเร็วโดยใช้โค้ด VBA และเครื่องมือจัดการเวิร์กบุ๊ก
Microsoft Excel มีวิธีจัดเรียงที่รวดเร็วและง่ายดายมากมาย คอลัมน์หรือแถวตามลำดับตัวอักษร แต่มีเพียงวิธีเดียวในการจัดเรียงแผ่นงานใหม่ใน Excel - ลากไปยังตำแหน่งที่ต้องการบนแถบแท็บแผ่นงาน เมื่อพูดถึงแท็บการเรียงตามตัวอักษรในสมุดงานขนาดใหญ่จริงๆ นี่อาจเป็นวิธีที่ยาวและผิดพลาด กำลังมองหาทางเลือกที่ช่วยประหยัดเวลาอยู่ใช่ไหม? มีอยู่สองอย่างเท่านั้น: โค้ด VBA หรือเครื่องมือของบุคคลที่สาม
วิธีการเรียงแท็บตามตัวอักษรใน Excel ด้วย VBA
ด้านล่าง คุณจะพบตัวอย่างโค้ด VBA สามตัวอย่างเพื่อจัดเรียง Excel แผ่นงานจากน้อยไปมาก จากมากไปน้อย และในทิศทางใดทิศทางหนึ่งตามตัวเลือกของผู้ใช้
โดยนัยว่าคุณมีประสบการณ์เกี่ยวกับ VBA มาบ้างแล้ว เราจะร่างขั้นตอนพื้นฐานในการเพิ่มแมโครในเวิร์กชีตของคุณเท่านั้น:
- ในสมุดงาน Excel ของคุณ ให้กด Alt + F11 เพื่อเปิด Visual Basic Editor
- ในบานหน้าต่างด้านซ้าย คลิกขวาที่ ThisWorkbook แล้วคลิก แทรก > โมดูล .
- วางโค้ด VBA ในหน้าต่างโค้ด
- กด F5 เพื่อเรียกใช้มาโคร
สำหรับ คำแนะนำทีละขั้นตอนโดยละเอียด โปรดดูวิธีแทรกและเรียกใช้โค้ด VBA ใน Excel
เคล็ดลับ ถ้าคุณต้องการเก็บมาโครไว้ใช้งานต่อไป อย่าลืมบันทึกไฟล์ของคุณเป็นเวิร์กบุ๊กที่เปิดใช้งานมาโครของ Excel (.xlsm)
อีกทางหนึ่ง คุณสามารถดาวน์โหลดเวิร์กบุ๊กตัวอย่าง Alphabetize Excel Tabs เปิดใช้งานเนื้อหาหากได้รับพร้อมท์ และเรียกใช้มาโครที่ต้องการได้โดยตรงจากที่นั่น สมุดงานประกอบด้วยมาโครต่อไปนี้:
- แท็บจากน้อยไปหามาก - จัดเรียงแผ่นงานตามตัวอักษรจาก A ถึง Z
- แท็บจากมากไปหาน้อย - จัดเรียงแผ่นงานใน ลำดับย้อนกลับ จาก Z ถึง A
- AlphabetizeTabs - จัดเรียงแท็บแผ่นงานในทั้งสองทิศทาง จากน้อยไปมากหรือจากมากไปน้อย
เมื่อดาวน์โหลดสมุดงานตัวอย่างและเปิดใน Excel ของคุณ เปิดสมุดงานของคุณเองที่คุณต้องการเรียงแท็บตามตัวอักษร กด Alt + F8 เลือกมาโครที่ต้องการ แล้วคลิก เรียกใช้ .
จัดเรียงแท็บ Excel ตามตัวอักษรจาก A ถึง Z<15
มาโครขนาดเล็กนี้จัดเรียงแผ่นงานในสมุดงานปัจจุบันใน ลำดับตัวอักษรและตัวเลขจากน้อยไปมาก แผ่นงานแรกที่มีชื่อขึ้นต้นด้วยตัวเลข จากนั้นแผ่นงานจาก A ถึง Z
แท็บย่อยจากน้อยไปหามาก () สำหรับ i = 1 ถึง Application.Sheets.Count สำหรับ j = 1 ถึง Application.Sheets.Count - 1 ถ้า UCase$(Application.Sheets(j).Name) > UCase$(Application.Sheets(j + 1).Name) แล้วก็ Sheets(j).Move after:=Sheets(j + 1) End If Next Next MsgBox "แท็บถูกจัดเรียงจาก A ถึง Z" จบย่อยจัดเรียงแท็บ Excel จาก Z ถึง A
ถ้าคุณต้องการจัดเรียงแผ่นงานของคุณใน ลำดับตัวอักษรและตัวเลขจากมากไปหาน้อย (Z ถึง A แล้วแผ่นงานที่มีชื่อเป็นตัวเลข) ให้ใช้ปุ่ม รหัสต่อไปนี้:
Sub TabsDescending() For i = 1 ToApplication.Sheets.Count สำหรับ j = 1 ถึง Application.Sheets.Count - 1 ถ้า UCase$(Application.Sheets(j).Name) < UCase$(Application.Sheets(j + 1).Name) แล้วก็ Application.Sheets(j).Move after:=Application.Sheets(j + 1) End If Next Next MsgBox "แท็บถูกจัดเรียงจาก Z ถึง A " จบย่อยแท็บเรียงตามตัวอักษรจากน้อยไปมากหรือจากมากไปน้อย
มาโครนี้ช่วยให้ผู้ใช้ของคุณตัดสินใจว่าจะจัดเรียงเวิร์กชีตในเวิร์กบุ๊กที่กำหนดอย่างไร โดยเรียงตามตัวอักษรจาก A ถึง Z หรือเรียงลำดับย้อนกลับ
ตั้งแต่ กล่องโต้ตอบมาตรฐาน (MsgBox) ใน Excel VBA อนุญาตให้เลือกจากปุ่มที่กำหนดไว้ล่วงหน้าเพียงไม่กี่ปุ่ม เราจะสร้างแบบฟอร์มของเราเอง (UserForm) ด้วยปุ่มที่กำหนดเองสามปุ่ม: A ถึง Z , Z ถึง A และ ยกเลิก .
สำหรับสิ่งนี้ ให้เปิด Visual Basic Editor คลิกขวา ThisWorkbook แล้วคลิก แทรก > ฟอร์มผู้ใช้ ตั้งชื่อฟอร์มของคุณ SortOrderFrom และเพิ่มตัวควบคุม 4 ตัว: ป้ายกำกับและปุ่มสามปุ่ม:
ถัดไป กด F7 (หรือดับเบิลคลิกที่ฟอร์ม ) เพื่อเปิดหน้าต่าง รหัส และวางรหัสด้านล่างที่นั่น โค้ดดักจับปุ่มคลิกและกำหนดแท็กเฉพาะให้กับแต่ละปุ่ม:
Private Sub CommandButton1_Click() Me.Tag = 1 Me.Hide End Sub Private Sub CommandButton2_Click() Me.Tag = 2 Me.Hide End Sub Private Sub CommandButton3_Click () Me.Tag = 0 Me.Hide End Subขึ้นอยู่กับว่าผู้ใช้คลิกปุ่ม A ถึง Z หรือ Z ถึง A บนแบบฟอร์มของคุณ จัดเรียงแท็บในเรียงตามตัวอักษรจากน้อยไปมาก (ถูกเลือกโดยค่าเริ่มต้น) หรือจากมากไปหาน้อยตามลำดับตัวอักษร หรือปิดแบบฟอร์มและไม่ดำเนินการใดๆ ในกรณีที่ ยกเลิก สิ่งนี้ทำได้ด้วยโค้ด VBA ต่อไปนี้ ซึ่งคุณแทรกด้วยวิธีปกติผ่าน Insert > Module .
Sub AlphabetizeTabs() Dim SortOrder As Integer SortOrder = showUserForm If SortOrder = 0 จากนั้นออกจาก Sub สำหรับ x = 1 ถึง Application.Sheets.Count สำหรับ y = 1 ถึง Application.Sheets.Count - 1 ถ้า SortOrder = 1 ถ้า UCase$(Application.Sheets(y).Name) > UCase$(Application.Sheets(y + 1).Name) แล้วก็ Sheets(y).Move after:=Sheets(y + 1) End If ElseIf SortOrder = 2 แล้วถ้า UCase$(Application.Sheets(y).Name) < UCase$(Application.Sheets(y + 1).Name) แล้วก็ Sheets(y).Move after:=Sheets(y + 1) End If End If Next Next End Sub Function showUserForm() As Integer showUserForm = 0 Load SortOrderForm SortOrderForm .Show (1) showUserForm = SortOrderForm.Tag Unload SortOrderForm End Functionหากคุณยังไม่คุ้นเคยกับ VBA มากนัก คุณสามารถดาวน์โหลดสมุดงานตัวอย่างของเราไปยังแท็บ Alphabetize Tabs เปิดใน Excel ของคุณพร้อมกับไฟล์ของคุณเองที่คุณต้องการ เพื่อจัดเรียงแท็บ และเรียกใช้มาโคร AlphabetizeTabs จากสมุดงานของคุณ:
เลือกลำดับการจัดเรียงที่ต้องการ เช่น A ถึง Z และสังเกตผลลัพธ์:
เคล็ดลับ ด้วย VBA คุณสามารถสร้างสำเนาแผ่นงาน Excel ของคุณได้ รหัสมีอยู่ที่นี่: วิธีการแผ่นงานที่ซ้ำกันใน Excel ด้วย VBA
วิธีจัดเรียงแท็บ Excel ตามตัวอักษรด้วย Ultimate Suite
ผู้ใช้ Ultimate Suite สำหรับ Excel ของเราไม่ต้องวุ่นวายกับ VBA เนื่องจากมีหลาย - ผู้จัดการสมุดงานที่มีฟังก์ชันให้เลือกใช้งาน:
ด้วยเครื่องมือนี้ที่เพิ่มลงใน Ribbon ของ Excel แท็บการเรียงตามตัวอักษรทำได้ด้วยการคลิกเพียงปุ่มเดียวตามที่ควรจะเป็น!<3
หากคุณสนใจที่จะสำรวจสิ่งนี้และเครื่องมือระดับมืออาชีพอีกกว่า 70 รายการสำหรับ Excel สามารถดาวน์โหลด Ultimate Suite เวอร์ชันทดลองได้ที่นี่
ขอขอบคุณ ที่คุณอ่านและหวังว่าจะได้พบคุณในบล็อกของเราในสัปดาห์หน้า!