我发现了与我的问题类似的问题,但是并没有解决我要解决的确切问题。其他问题是更改填充颜色,但指示了大多数时间范围,这可能对我的代码没有用。本质上,我正在做的是我目前在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
答案 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