Random Posts

Sắp xếp thứ tự Sheet bằng VBA

(Thủ thuật VBA Excel) - Việc hỗ trợ sắp xếp trong Excel rất mạnh, ngoài việc cung cấp chức năng sắp xếp thứ tự theo giá trị, người sử dụng còn có thể chọn cho mình những lựa chọn khác như: màu chữ, màu nền. Với công cụ sắp xếp này người sử dụng có thể dễ dàng sắp xếp thứ tự bảng, danh sách theo mong muốn của mình.

Xem những Video hay dành cho thiếu nhi - Nghe trên Youtube



Vậy tôi có 1 Workbook có chứa nhiều Sheet, bây giờ tôi muốn sắp xếp thứ tự các Sheet này theo thứ tự ABC để tiện cho việc truy cập và làm việc. Hiện trong Excel chưa có tính năng có sẵn để hỗ trợ thực hiện công việc này! Tuy nhiên ta vẫn có thể sắp xếp các Sheet theo mong muốn bằng cách sử dụng VBA.


1. Khởi động Microsoft Excel.
2. Nhấn ALT + F11 để bắt đầu Visual Basic Editor.
Vào Menu Inser\Module


3. Nhập toàn bộ đoạn mã sau vào
Sub SortSheetOnWorkbook()
Dim i As Integer
Dim j As Integer
Dim iMsg As VbMsgBoxResult
   iMsg = MsgBox("Ban co muon sap xep thu tu cac Sheet khong?" & Chr(10) & "Chon Yes de sap xep tang dan" & Chr(10) & "Kich No de sap xep giam dan" & Chr(10) & "Kich 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 trở lại màn hình Excel và sử dụng VBA vừa tạo
- Vào Menu View\Macros\View Macros


- Chọn Macro SortSheetOnWorkbook
- Kích nút Run

Khi chạy Macro, nếu chọn Yes thì sẽ sắp xếp theo thứ tự tăng dần, nếu No là theo thứ tự giảm dần.
Sau khi chạy xong, Macro sẽ tự động sắp xếp các Sheet theo thứ tự tăng hoặc giảm dần do người dùng lựa chọn. Dưới đây là kết quả sau khi thực hiện Macro.


Tin học văn phòng

Post a Comment

0 Comments