excel vba sort sheet通过查看前几个字符来数字化

时间:2017-04-18 17:57:06

标签: excel vba excel-vba sorting

我想在excel文件中对工作表进行排序。我的工作表名称是12_abc,122_adf,3_dasf,11_ad等。我想在" "之前根据数字对工作表进行排序。 (第一个下划线)在我的工作表名称中。在进行排序时,代码应该理解3应该出现在134之前。代码需要在" "之前采用文本。并将其转换为数字。

我怎么能这样做?这个问题与this question非常相似。我根据收到的评论发布了一个新问题

1 个答案:

答案 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