Excel 工作表按名称排序 帮忙解释下每一行Vba代码

Excel 工作表按名称排序 帮忙解释下每一行Vba代码
01. Sub Sort_Sheets()
02. Dim sCount As Integer, I As Integer, R As Integer
03. ReDim Na(0) As String
04. sCount = Sheets.Count
05.
06. For I = 1 To sCount
07. ReDim Preserve Na(I) As String
08. Na(I) = Sheets(I).Name
09. Next
10.
11.
12. For I = 1 To sCount - 1
13. For R = I + 1 To sCount
14. If Na(R) < Na(I) Then
15. JH = Na(I)
16. Na(I) = Na(R)
17. Na(R) = JH
18. End If
19. Next
20. Next
21.
22.
23. For I = 1 To sCount
24. Sheets(Na(I)).Move After:=Sheets(I)
25. Next
26. End Sub
Sub Sort_Sheets()
Dim sCount As Integer, I 岁嫌As Integer, R As Integer
ReDim Na(0) As String    '声明数组Na
sCount = Sheets.Count   '统计工作表数量。
'乎孙手------------收集所有工作表名称代码段--------------
For I = 1 To sCount
    ReDim Preserve Na(I) As String 'Na被声明为动态数组,数组元素个数随I值发化变化
    Na(I) = Sheets(I).Name   '将第I个工作表名称存入数组
Next
'------------在数组中对名称进行排序-----------------
For I = 1 To sCount - 1 '从1到工作表数-1
    For R = I + 1 To sCount '从i+1到工作表数凯激
        If Na(R) < Na(I) Then '若Na(R)            JH = Na(I) '本句和接下来两句,将Na(I)与Na(R)内容互换
            Na(I) = Na(R)
            Na(R) = JH
        End If
    Next
Next
'------------根据数组中排好的顺序,将相应工作表移到最后-------完成排序
For I = 1 To sCount  '
    Sheets(Na(I)).Move After:=Sheets(I)
Next
End Sub

← 上一篇: 下一篇: →