2017-01-16 285 views
0

我是VBA的新手,在使用VBA排序的任何線程中找不到任何解決方案。Excel VBA排序字母數字宏

一個軟件正在向Excel寫入數據,並且它會從1-30創建表單。我的問題是,這些表不是按順序排列的。

隨着每一個排序我試過到目前爲止,我總是得到的結果: 片,sheet10,sheet11 ... sheet19,板材,sheet20,sheet21,... sheet29,片 ,sheet30,sheet4, sheet5,sheet6,...

我正在尋找一種解決方案來獲取這些表的順序,如:sheet1,sheet2,sheet3 ... sheet29,sheet30。

我現在唯一的想法是通過宏創建一個新工作表,創建一個清單(工作表1 ...工作表30)並讓這些工作表按列表排序。

但我很肯定有一個更聰明的方法來解決這個問題。

Thx提前有任何建議。

回答

0

只要你的表像 「工作表Sheet1」,Sheet2" 的名,然後....:

Sub RestoreOrder() 
    Dim N As Long, i As Long 
    N = Sheets.Count 
    For i = 1 To N 
     Sheets("Sheet" & i).Move after:=Sheets(N) 
    Next i 
End Sub 

似乎工作

+0

它的偉大工程,感謝你的幫助。 – Heinz