excel工作表排序

原sheet1sheet2sheet3
添加工作表就sheet1sheet2sheet4sheet3
在添加就sheet1sheet2sheet5sheet4sheet3
我想让他从sheet1-sheet5自己排好,不想一个个挪,怎么办

对所有工作表排序,百分百有效!

工具->宏,新建,将以下代码粘贴在空白处,保存,关闭;
工具->宏;选择新建的宏,确定运行。

Sub Sort()
If MsgBox("Sort Sheet??", vbYesNo, "Message") = vbYes Then
Dim wbook As Workbook
Dim wsheet As Worksheet
Dim i As Integer
Dim countsh As Integer
Dim ss() As String

Set wbook = ActiveWorkbook
countsh = wbook.Sheets.Count

ReDim ss(1 To countsh)

For i = 1 To countsh
ss(i) = wbook.Sheets(i).Name
Next

Set wsheet = wbook.Worksheets.Add

For i = 1 To countsh
wsheet.Cells(i, 1).Value = ss(i)
Next

wsheet.Columns(1).Sort Key1:=wsheet.Columns(1), Order1:=xlAscending

For i = 1 To countsh
ss(i) = wsheet.Cells(i, 1).Value
Next

Application.DisplayAlerts = False
wsheet.Delete
Application.DisplayAlerts = True

For i = 1 To countsh
wbook.Sheets(ss(i)).Move after:=wbook.Sheets(countsh)
Next

Else: MsgBox "ok!"
End If
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-09-04
因为插入工作表的操作,默认是插入到当前所选的工作表之前,所以才会出现你说的情况。例如:当前工作表是sheet1,此时选择插入->工作表,就会变成sheet4,sheet1,sheet2,sheet3。

如果事先知道需要几张工作表的话,可以通过下面的方法来设置。
工具->选项->常规,通过设置新工作簿内的工作表数量,你可以一次性设置到位。
第2个回答  2009-09-04
可以使用office2007..新增一个sheet,只需要单击就可以了,而且顺序是符合你的要求..

当然啦.2007使用可能要有一个熟悉的过程,但是熟悉以后,使用起来肯定比2003方便的多:>

另附下载地址:http://www.downxia.com/downinfo/2736.html
有点大,但是肯定不后悔
第3个回答  2009-09-04
用VBA,代码是

Sub paixu()
Dim i%
For i = 1 To Worksheets.Count
Sheets("sheet" & i).Move Before:=Sheets(i)
Next
End Sub本回答被提问者采纳
第4个回答  2009-09-04
wps可以不用排序,会给你选择,你用的是2003把,你换个2007就可以了