在使用Excel的過程中我們可能會遇到這個問題,壹個工作簿有幾十個工作表,結果這些工作表的順序不太滿足要求,我們想將這些工作表快速排序。妳有什麽好方法來解決這個問題嗎?
復雜問題還是得vba代碼出馬啦。alt+F11——雙擊thisbook——打開工作簿的代碼編輯框。
復制進去如下代碼。
Sub ml()
Dim sht As Worksheet, k&
[a:a] = ""
'清空A列數據
[a1] = "目錄"
k = 1
For Each sht In Worksheets
'遍歷工作簿中每個工作表
k = k + 1
'累加K值
Cells(k, 1) = sht.Name
'將工作表名稱依次放入表格A列
Next
End Sub
在開發工具選項插入壹個按鈕。什麽!妳的軟件怎麽沒有這個選項卡?看我下壹篇經驗妳就知道怎麽讓它出現了。
畫好壹個按鈕框以後,軟件讓妳給它指定宏代碼,當然是選擇產生目錄啦。
點擊壹下獲取目錄(這是我重命名的,不會的話給我留言),目錄就神奇的產生啦。
對目錄進行篩選,排序,也可以手工排序。
然後再在代碼編輯框輸入這些代碼。
Sub sortsheet()
Dim sht As Worksheet, shtname$, i&
Set sht = ActiveSheet
'設置變量sht為當前激活的工作表,即目錄表。
For i = 2 To sht.Cells(Rows.Count, 1).End(3).Row
'遍歷工作表A列的數據,A1以外。
shtname = sht.Cells(i, 1)
'將A列值賦值為字符串變量shtname
Sheets(shtname).Move after:=Sheets(i - 1)
'將工作表依次移動
Next
sht.Activate
'重新激活目錄表
End Sub
然後再畫壹個按鈕,指定sortsheet。
改好按鈕名稱後就是這樣的啦,按壹下按鈕。
神奇的事情就出現了,工作表居然改變了順序。