循环遍历所有带有白色填充的单元格,并将其更改为不填充

时间:2019-12-10 20:44:54

标签: excel vba

我有一个庞大的电子表格。我想遍历所有单元格并将白色填充更改为不填充。该代码花费的时间太长或使我的计算机崩溃,因此我无法确定它是否真正起作用。有人看到有什么问题吗?

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

1 个答案:

答案 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