是否可以清除工作簿中单元格的特定填充颜色

时间:2019-03-28 20:45:56

标签: excel vba

我发现了与我的问题类似的问题,但是并没有解决我要解决的确切问题。其他问题是更改填充颜色,但指示了大多数时间范围,这可能对我的代码没有用。本质上,我正在做的是我目前在excel中运行一个宏,该宏在整个工作簿中查看一百多个不同的范围。每个范围只能是excel中的硬编码数字,也可以只包括公式。如果一个单元格在应该仅包含硬编码数字的范围内,则该公式将变为绿色。如果应该只包含公式的范围内的单元格是硬编码的,则该单元格将变为红色。然后,用户查看这些有色单元格并修复错误。然后,我要制作一个宏,以将这些彩色的单元格清除为白色或其他颜色。我该怎么做呢?这很可能是一个简单的问题,但是由于某种原因,我一直无法弄清楚。我只希望这些特定的彩色单元格可以更改填充颜色。

这是我的代码的开始,这是我想要实现的最基本的轮廓

Sub Clear_Fill()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets
    If Cells.Interior.Color = 50000 Or Cells.Interior.Color = 66000 Then
        Cells.Interior.Pattern = xlNone
    End If
Next ws
End Sub

1 个答案:

答案 0 :(得分:0)

下面的代码循环工作簿中的所有工作表,循环工作表中的所有单元格,如果条件满足清除颜色

Option Explicit

Sub Clear_Fill()

    Dim ws As Worksheet
    Dim cell As Range

    For Each ws In ThisWorkbook.Worksheets

        With ws
            For Each cell In .UsedRange
                If Cell.Interior.Color = 50000 Or Cell.Interior.Color = 66000 Then
                    Cell.Interior.Pattern = xlNone
                End If
            Next cell
        End With

    Next ws

End Sub