我是VBA的新手,在使用VBA排序的任何线程中都找不到针对我的小问题的任何解决方案。
一个软件正在将数据写入Excel,并且它会创建1-30个工作表。我的问题是,这些表不能按顺序排列。
到目前为止,我尝试进行的每次排序都始终得到结果:工作表1,工作表10,工作表11 ...工作表19,工作表2,工作表20,工作表21,...工作表29,工作表3,工作表30,工作表4,工作表5,工作表6 ...。 。
我正在寻找一种解决方案,以按顺序获取这些工作表:sheet1,sheet2,sheet3 ... sheet29,sheet30。
现在,我唯一的想法是通过Macro创建一个新工作表,创建一个列表(sheet1 ... sheet30),然后让这些工作表按列表进行排序。
但是我很确定有解决这个问题的更聪明的方法。
事先感谢任何建议。
只要您的工作表的名称类似于“ 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
似乎起作用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句