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 張工作表前面
‘綜合以上則是先從第一張工作表與第二工作表比順序,順序前者排至第一張,再與後面工作表比順序,持續比較則可完成排序。