Mục lục
Hướng dẫn chỉ ra cách bạn có thể nhanh chóng sắp xếp các trang tính Excel theo thứ tự bảng chữ cái bằng cách sử dụng mã VBA và công cụ Trình quản lý sổ làm việc.
Microsoft Excel cung cấp một số cách nhanh chóng và dễ dàng để sắp xếp cột hoặc hàng theo thứ tự bảng chữ cái. Nhưng chỉ có một phương pháp để sắp xếp lại các trang tính trong Excel - kéo chúng đến vị trí mong muốn trên thanh tab trang tính. Khi sắp xếp các tab theo thứ tự bảng chữ cái trong một sổ làm việc thực sự lớn, đây có thể là một cách dài dòng và sai lầm. Tìm kiếm một giải pháp thay thế tiết kiệm thời gian? Chỉ tồn tại hai: mã VBA hoặc công cụ của bên thứ ba.
Cách sắp xếp thứ tự các tab trong Excel bằng VBA
Dưới đây, bạn sẽ tìm thấy ba ví dụ về mã VBA để sắp xếp Excel trang tính tăng dần, giảm dần và theo một trong hai hướng dựa trên lựa chọn của người dùng.
Ngụ ý rằng bạn có một số kinh nghiệm với VBA, chúng tôi sẽ chỉ phác thảo các bước cơ bản để thêm macro vào trang tính của bạn:
- Trong sổ làm việc Excel của bạn, nhấn Alt + F11 để mở Trình soạn thảo Visual Basic.
- Ở ngăn bên trái, nhấp chuột phải vào ThisWorkbook , sau đó nhấp vào Chèn > Mô-đun .
- Dán mã VBA vào cửa sổ Mã.
- Nhấn F5 để chạy macro.
Đối với hướng dẫn chi tiết từng bước, vui lòng xem Cách chèn và chạy mã VBA trong Excel.
Mẹo. Nếu bạn muốn giữ macro để sử dụng thêm, hãy đảm bảo lưu tệp của bạn dưới dạng sổ làm việc hỗ trợ macro Excel (.xlsm).
Ngoài ra, bạn có thể tải xuống sổ làm việc Bảng chữ cái bảng chữ cái Excel mẫu của chúng tôi, bật nội dung nếu được nhắc và chạy macro mong muốn trực tiếp từ đó. Sổ làm việc chứa các macro sau:
- TabsTăng dần - sắp xếp trang tính theo thứ tự abc từ A đến Z.
- TabGiảm dần - sắp xếp trang tính theo thứ tự đảo ngược thứ tự, từ Z đến A.
- AlphabetizeTabs - sắp xếp các tab trang tính theo cả hai hướng, tăng dần hoặc giảm dần.
Với sổ làm việc mẫu được tải xuống và mở trong Excel của bạn, hãy mở sổ làm việc của riêng bạn nơi bạn muốn sắp xếp thứ tự các tab theo thứ tự bảng chữ cái, nhấn Alt + F8 , chọn macro mong muốn và nhấp vào Chạy .
Sắp xếp các tab Excel theo thứ tự bảng chữ cái từ A đến Z
Macro nhỏ này sắp xếp các trang tính trong sổ làm việc hiện tại theo thứ tự chữ và số tăng dần , đầu tiên các trang tính có tên bắt đầu bằng số, sau đó là các trang tính từ A đến Z.
Các tab phụ Tăng dần() For i = 1 Đến Application.Sheets.Count For j = 1 Đến Application.Sheets.Count - 1 If UCase$(Application.Sheets(j).Name) > UCase$(Application.Sheets(j + 1).Name) Then Sheets(j).Move after:=Sheets(j + 1) End If Next Next MsgBox "Các tab đã được sắp xếp từ A đến Z." End SubSắp xếp các tab Excel từ Z đến A
Nếu bạn muốn sắp xếp các trang tính của mình theo thứ tự chữ và số giảm dần (Z đến A, sau đó là các trang tính có tên số), thì hãy sử dụng mã sau:
Sub TabsDescending() For i = 1 ToApplication.Sheets.Count For j = 1 To Application.Sheets.Count - 1 If UCase$(Application.Sheets(j).Name) < UCase$(Application.Sheets(j + 1).Name) Then Application.Sheets(j).Move after:=Application.Sheets(j + 1) End If Next Next MsgBox "Các tab đã được sắp xếp từ Z đến A. " End SubSắp xếp thứ tự các tab theo thứ tự tăng dần hoặc giảm dần
Macro này cho phép người dùng của bạn quyết định cách sắp xếp các trang tính trong một sổ làm việc nhất định, theo thứ tự bảng chữ cái từ A đến Z hoặc theo thứ tự ngược lại.
Vì hộp thoại tiêu chuẩn (MsgBox) trong Excel VBA chỉ cho phép chọn từ một số nút được xác định trước, chúng tôi sẽ tạo biểu mẫu của riêng mình (UserForm) với ba nút tùy chỉnh: A đến Z , Z đến A và Hủy .
Đối với điều này, hãy mở Trình soạn thảo Visual Basic, nhấp chuột phải vào ThisWorkbook và nhấp vào Chèn > Biểu mẫu người dùng . Đặt tên cho biểu mẫu của bạn là SortOrderFrom và thêm 4 điều khiển vào biểu mẫu: nhãn và ba nút:
Tiếp theo, nhấn F7 (hoặc nhấp đúp vào biểu mẫu ) để mở cửa sổ Mã và dán mã bên dưới vào đó. Mã chặn các lần nhấp vào nút và gán một thẻ duy nhất cho mỗi nút:
Nút phụ riêng tư 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 SubTùy thuộc vào việc người dùng nhấp vào nút A đến Z hay Z đến A trên biểu mẫu của bạn, hãy sắp xếp các tab theo thứ tựthứ tự chữ cái tăng dần (được chọn theo mặc định) hoặc thứ tự chữ cái giảm dần; hoặc đóng biểu mẫu và không làm gì trong trường hợp Hủy . Điều này được thực hiện với mã VBA sau mà bạn chèn theo cách thông thường thông qua Insert > Module .
Sub AlphabetizeTabs() Dim SortOrder As Integer SortOrder = showUserForm If SortOrder = 0 Then Exit Sub For x = 1 To Application.Sheets.Count For y = 1 To Application.Sheets.Count - 1 If SortOrder = 1 Then If UCase$(Application.Sheets(y).Name) > UCase$(Application.Sheets(y + 1).Name) Then Sheets(y).Di chuyển sau:=Sheets(y + 1) End If ElseIf SortOrder = 2 Then If UCase$(Application.Sheets(y).Name) < UCase$(Application.Sheets(y + 1).Name) Then 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 FunctionNếu bạn chưa quen với VBA, bạn có thể chỉ cần tải xuống Sổ làm việc mẫu của chúng tôi để sắp xếp theo thứ tự bảng chữ cái, mở nó trong Excel của bạn cùng với tệp của riêng bạn ở nơi bạn muốn để sắp xếp các tab và chạy macro AlphabetizeTabs từ sổ làm việc của bạn:
Chọn thứ tự sắp xếp ưa thích, chẳng hạn như A đến Z và quan sát kết quả:
Mẹo. Với VBA, bạn cũng có thể tạo các bản sao của trang tính Excel của mình. Mã có sẵn ở đây: Làm thế nào đểtrang tính trùng lặp trong Excel bằng VBA.
Cách sắp xếp các tab Excel theo thứ tự bảng chữ cái với Ultimate Suite
Người dùng Ultimate Suite cho Excel của chúng tôi không cần phải loay hoay với VBA - họ có nhiều -Trình quản lý sổ làm việc chức năng theo ý của họ:
Với công cụ này được thêm vào ruy-băng Excel của bạn, việc sắp xếp các tab theo thứ tự bảng chữ cái được thực hiện chỉ bằng một lần nhấp vào nút, chính xác như mong muốn!
Nếu bạn muốn khám phá điều này và hơn 70 công cụ chuyên nghiệp khác dành cho Excel, bạn có thể tải xuống phiên bản dùng thử của Ultimate Suite tại đây.
Tôi xin cảm ơn bạn đã đọc và hy vọng sẽ gặp bạn trên blog của chúng tôi vào tuần tới!