Thứ Ba, 27 tháng 3, 2012

Sắp xếp thứ tự tên các Sheet trong một File Excel


Trong Excel không  có tính năng để sắp xếp thứ tự các tên của các Sheet vì thế bạn cần phải thực hiện bằng Macro bên dưới


Sub Sort_Active_Book()
Dim i As Integer
Dim j As Integer
Dim iAnswer As VbMsgBoxResult
   iAnswer = MsgBox("Sort Sheets in Ascending Order?" & Chr(10)  & "Clicking No will sort in Descending Order",  vbYesNoCancel + vbQuestion + vbDefaultButton1, "Sort Worksheets")
   For i = 1 To Sheets.Count
      For j = 1 To Sheets.Count - 1
         If iAnswer = vbYes Then
            If UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name) Then
               Sheets(j).Move After:=Sheets(j + 1)
            End If
         ElseIf iAnswer = vbNo Then
            If UCase$(Sheets(j).Name) < UCase$(Sheets(j + 1).Name) Then
               Sheets(j).Move After:=Sheets(j + 1)
            End If
         End If
      Next j
   Next i
End Sub

Khi chạy Macro này nếu trả lời là 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

Không có nhận xét nào:

Đăng nhận xét