我想在excel文件中对工作表进行排序。我的工作表名称是12_abc,122_adf,3_dasf,11_ad等。我想在" "之前根据数字对工作表进行排序。 (第一个下划线)在我的工作表名称中。在进行排序时,代码应该理解3应该出现在134之前。代码需要在" "之前采用文本。并将其转换为数字。
我怎么能这样做?这个问题与this question非常相似。我根据收到的评论发布了一个新问题
答案 0 :(得分:2)
试一试......
Sub SortSheetTabsAscending()
Dim ws As Worksheet
Dim i As Integer, j As Integer
Application.ScreenUpdating = False
Set ws = ActiveSheet
For i = 1 To Sheets.Count
For j = 1 To Sheets.Count - 1
If Split(Sheets(j).Name, "_")(0) + 0 > Split(Sheets(j + 1).Name, "_")(0) + 0 Then
Sheets(j).Move After:=Sheets(j + 1)
End If
Next j
Next i
ws.Activate
Application.ScreenUpdating = True
End Sub