(Sắp xếp thứ tự Sheet trong Excel bằng VBA) Excel là công cụ thông dụng trong nhiều công việc với rất nhiều chức năng hữu ích. Việc sắp xếp trong Excel được hỗ trợ rất mạnh. Ngoài chức năng sắp xếp thứ tự theo giá trị còn có thể sắp xếp theo màu chữ hay màu nền. Với sự hỗ trợ của công cụ sắp xếp này, người sử dụng dễ dàng sắp xếp thứ tự bảng hay danh sách theo mong muốn của mình.
Vấn đề đặt ra là bạn đang có nhiều Sheet trong 1 Workbook và muốn sắp xếp các Sheet này theo thứ tự ABC để thuận tiện cho việc truy cập và làm việc. Tuy nhiên, Excel chưa hỗ trợ tính năng có sẵn thực hiện công việc này. Blog tin học sẽ hướng dẫn bạn cách sắp xếp các Sheet trong Excel theo mong muốn bằng cách sử dụng VBA.
Sau đây là các bước thực hiện:
1. Khởi động Microsoft Excel.
2. Bắt đầu Visual Basic Editor với Alt+F11.
3. Copy đoạn mã sau
Dim i As Integer
Dim j As Integer
Dim iMsg As VbMsgBoxResult
iMsg = MsgBox(“Ban muon sap xep thu tu cac Sheet khong?” & Chr(10) & “Chon Yes de sap xep tang dan” & Chr(10) & “Chon No de sap xep giam dan” & Chr(10) & “Chon Cancel de huy”, vbYesNoCancel + vbInformation + vbDefaultButton2, “Sap xep Sheet”)
For i = 1 To Sheets.Count
For j = 1 To Sheets.Count – 1
Select Case iMsg
Case vbYes
If UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name) Then
Sheets(j).Move After:=Sheets(j + 1)
End If
Case vbNo
If UCase$(Sheets(j).Name) < UCase$(Sheets(j + 1).Name) Then
Sheets(j).Move After:=Sheets(j + 1)
End If
End Select
Next j
Next i
End Sub
4. Quay lại màn hình Excel và sử dụng VBA
Trong Menu View Macros chọn View Macros
Tương ứng với đoạn mã bạn copy ở trên thì khi chạy Macro, chọn “Yes” sẽ sắp xếp theo thứ tự tăng dần, “No” là theo thứ tự giảm dần. Sau khi quá trình chạy hoàn tất, Macro sẽ tự động sắp xếp các Sheet theo thứ tự tăng hoặc giảm dần do bạn lựa chọn. Sau đây là kết quả sau khi bạn sử dụng Macro làm việc với hàm trong Excel: