怎样实现excel中各工作表(sheet)按字母排序?急

是要调用宏吗?求编码……

Sub 工作表标签排序()
n = Sheets.Count
For i = 1 To n
Cells(i, Columns.Count).NumberFormatLocal = "@"
Cells(i, Columns.Count) = Sheets(i).Name
Next
Cells(1, Columns.Count).Resize(n).Sort Cells(1, Columns.Count)
R = Cells(1, Columns.Count).Resize(n)
Cells(1, Columns.Count).Resize(n) = ""
For i = 1 To n
Sheets(R(i, 1)).Move Sheets(1)
Next
End Sub

--------------

打开你要排序的工作表,然后按Alt +F11 ,在左侧点右键插入--模块,将上面的代码粘进去。然后F5运行,各sheet表就按字母进行排序了。追问

我用Alt+F11—插入—模块—复制代码之后,运行,出现下图,是怎么回事啊?谢谢!

指出的是第二排的Set



追答

没有看见你的图片,给你做个截图,你看一下。

追问

我是这么操作的,不过用的是excel2010,这样运行编码时会有区别吗?
我这边运行时就出现“编译错误,无效外部过程”的提示。

追答

不应该啊,我这里已经运行了,都正常啊,,我的Q,13908575 加上远程看下。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-16
Sub test()
    Dim i&, n&, x&
    n = Sheets.Count
    For i = 1 To n - 1
      For x = i + 1 To n
        If Sheets(x).Name < Sheets(i).Name Then
            Sheets(i).Move after:=Sheets(x)
        End If
      Next x
    Next i
End Sub