2017-01-16 279 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