2017-04-18 47 views
1

我想在我的excel文件中对工作表进行排序。我的表名是12_abc,122_adf,3_dasf,11_ad等。我希望根据表格中的“”(第一个下划线)之前的编号对表格进行排序。在对代码进行排序时,应该明白3应出现在134之前。代码需要在“”之前采用文本并将其转换为数字。excel vba通过查看前几个字符对数字表进行排序

我怎么能这样做?这个问题与this question非常相似。我张贴基于我收到

回答

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 
相关问题