我有一个庞大的电子表格。我想遍历所有单元格并将白色填充更改为不填充。该代码花费的时间太长或使我的计算机崩溃,因此我无法确定它是否真正起作用。有人看到有什么问题吗?
Sub Remove_White_Cells()
Application.ScreenUpdating = False
Dim cell As Range
Dim wb As Workbook
Dim ws As Worksheet
For Each ws In ActiveWorkbook
For Each cell In Worksheets
If cell.Interior.Color = RGB(0, 0, 0) Then
cell.Interior.Color = xlNone
End If
Next cell
Next ws
End Sub
答案 0 :(得分:0)
首先,循环遍历每个工作表中每个单元格的代码效率极低。因此,我将使用.UsedRange
将其限制为使用的单元格。
结果如下:
Sub Remove_White_Cells()
Application.ScreenUpdating = False
Dim cell As Range
Dim wb As Workbook
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets 'Worksheet iterator
For Each cell In ws.UsedRange.Cells 'Select only used cells
If cell.Interior.Color = RGB(0, 0, 0) Then
cell.Interior.Color = xlNone
End If
Next cell
Next ws
Application.ScreenUpdating = True
End Sub