【发布时间】:2023-04-02 04:03:01
【问题描述】:
我已经编写了代码,所以如果单元格值大于 0.10,它会变成黄色。如果不是,它应该保持白色。细胞不是保持白色,而是变成黑色。我无法弄清楚它为什么这样做。
Sub moreThan10Percent()
For nRow = 2 To 1937
For nColumn = 6 To 6
If Cells(nRow, nColumn) >= 0.1 Then
Cells(nRow, nColumn).Interior.ColorIndex = 6
Else
Cells(nRow, nColumn).Interior.Color = 1
End If
Next nColumn
Next nRow
结束子
【问题讨论】:
-
将您的 if 更改为简单的
If Cells(nRow, nColumn) >= 0.1 Then Cells(nRow, nColumn).Interior.ColorIndex = 6此外,您可以使用条件格式轻松完成此操作。这不是你的选择吗? -
你不希望它'保持白色'。您要删除所有填充颜色。而不是
Cells(nRow, nColumn).Interior.Color = 1使用Cells(nRow, nColumn).Interior.PATTERN = xlNone。 -
Fernando - 我确实有这个选项,但我必须经常重新下载多个 Excel 工作表。所以我希望使用 VBA 来加快速度。
-
对我来说,这在尝试从事件中重置 bgcolor 时有效:
oEvent.CellBackColor = -1