【Excel VBA】快速排序工作表

VBA快速排序工作表

Excel工作表沒有按照順序排列,難道只能手動拖曳嗎?以下帶你使用VBA快速排序工作表

輸入巨集

※輸入以下指令※

Sub 排序工作表()
Dim i As Integer, j As Integer
For i = 1 To Worksheets.Count – 1
For j = i + 1 To Worksheets.Count
If Worksheets(i).Name > Worksheets(j).Name Then
Worksheets(j).Move Before:=Worksheets(i)
End If
Next j
Next i
End Sub

執行巨集

點選「開發人員」-「巨集」或按下「Ctrl」+「F8」快捷鍵,並「執行」巨集。

執行後則快速排序工作表,如以下工作表~工作表(6)按順序排列。

語法說明

Dim i As Integer, j As Integer
‘宣告變數「i」與「j」型態為「整數」。
For i = 1 To Worksheets.Count – 1
‘使用For迴圈, i 從 1 到(工作表總數 – 1)
For j = i + 1 To Worksheets.Count
‘使用For迴圈, j 從( i + 1 )到(工作表總數 – 1)
If Worksheets(i).Name > Worksheets(j).Name Then
‘如果第 i 張工作表名稱比第 j 張工作表名稱大的話,則執行以下
Worksheets(j).Move Before:=Worksheets(i)
‘將第 j 張工作表移動至第 i 張工作表前面
‘綜合以上則是先從第一張工作表與第二工作表比順序,順序前者排至第一張,再與後面工作表比順序,持續比較則可完成排序。

其他文章分享

【Excel VBA】
工作表前面/後面
插入工作表

【Excel VBA】
連續複製工作表

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *