我有以下Excel VB代码,它运行良好但它运行得相当缓慢,并想知道是否有任何方法来加快这个过程。 代码:
Sub cleanSheet()
Dim r As Range
Application.ScreenUpdating = False
For Each r In Range(Cells(1, 1), Cells(200, 12))
r = WorksheetFunction.Clean(r)
Next r
Application.ScreenUpdating = True
End Sub
所以基本上我在A:L列中有数据需要清理。我希望能找到一些可能只需要整个范围的东西,例如A1:L200并且一次性清洁,而不是循环遍历每个单元格。
非常感谢任何帮助,
由于
答案 0 :(得分:2)
我们会将范围转移到 VBA 数组
然后清理阵列然后转回范围:
Sub cleanup()
Dim ary As Range
Set ary = Range(Cells(1, 1), Cells(200, 12))
bry = ary.Value
For i = 1 To 200
For j = 1 To 12
bry(i, j) = Application.WorksheetFunction.Clean(bry(i, j))
Next j
Next i
ary = bry
End Sub