當前位置:成語大全網 - 新華字典 - 怎麽能夠通過Excel vba代碼,迅速得出想要的數據表?

怎麽能夠通過Excel vba代碼,迅速得出想要的數據表?

在使用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。

改好按鈕名稱後就是這樣的啦,按壹下按鈕。

神奇的事情就出現了,工作表居然改變了順序。