我用它按单元格按字母顺序排列我的Excel工作表。有人可以帮我解决此代码,以忽略空单元格或将它们排序到最后吗?
这是我用来执行此操作的代码,但我不知道如何添加字符串以插入空单元格或将它们放在末尾。
Sub SortWksByCell()
Dim i As Integer
Dim j As Integer
For i = 1 To Worksheets.Count
For j = i To Worksheets.Count
If UCase(Worksheets(j).Range("A260")) < _
UCase(Worksheets(i).Range("A260")) Then
Worksheets(j).Move before:=Worksheets(i)
End If
Next
Next
End Sub
它将所有A260
范围为空的工作表放在我想要的最后一个
答案 0 :(得分:4)
添加一个Else If
来测试范围是否为空字符串。如果是这样,请将其移至末尾。另外,您需要使用反向循环,否则您将错过工作表。
Sub SortWksByCell()
Dim i As Long, j As Long
For i = Sheets.Count To 1 Step -1
For j = Sheets.Count To i Step -1
If UCase(Sheets(j).Range("A260")) < UCase(Sheets(i).Range("A260")) Then
Sheets(j).Move before:=Sheets(i)
ElseIf Sheets(j).Range("A260") = "" Then
Sheets(j).Move after:=Sheets(Sheets.Count)
End If
Next
Next
End Sub