我有一个代码可以将工作表从表9排序到最后一页。我发现它完美无缺。唯一我不明白的地方:代码首先以某种方式对大写字母进行排序,之后,所有名称都不以大写字母开头的表格如下。 那是为什么?
这是排序代码:
Sub SortSheets()
Application.ScreenUpdating = False
Dim I As Integer, J As Integer
For I = 9 To Sheets.Count
For J = I + 1 To Sheets.Count
If Sheets(J).Name < Sheets(I).Name Then
Worksheets(J).Move before:=Worksheets(I)
End If
Next J
Next I
End Sub
它现在对所有正确的工作表进行排序,但首先,对所有名称以大写字母开头的工作表进行排序,然后对所有名称以非大写字母开头的工作表进行排序。
答案 0 :(得分:0)
虽然simoco提供的代码修复了排序 - 首先对大写字母进行排序的原因是因为它们的ASCII values较低。
这是一张供参考的表格。
您可以使用Asc(myString)
函数在VBA中获取字符串的ASCII值。