【发布时间】:2013-05-07 14:31:38
【问题描述】:
我是在 excel 中使用 VBA 宏的新手,我正在尝试根据另一个单元格不为空的条件更改单元格的背景颜色。我以为我已经弄清楚了,但我一定做错了,因为无论我指定要更改为什么颜色的“Interior.Color”,它都会将单元格变成难看的蓝色。代码如下:
Sub Hello()
MsgBox ("Hello, world!")
Dim shSource As Worksheet
Dim shDest As Worksheet
Set shSource = ThisWorkbook.Sheets("Box Channel Tracking")
Set shDest = ThisWorkbook.Sheets("Box Channel Schematic")
If shSource.Range("C176").Value <> "" Then
shDest.Range("E8").Interior.Color = RGB(255, 255, 255)
shDest.Range("E8").Interior.Pattern = xlSolid
Else
shDest.Range("E8").Interior.Color = Red
shDest.Range("E8").Interior.Pattern = xlSolid
End If
End Sub
【问题讨论】:
-
你用的是什么版本的excel?
-
您是否使用任何条件格式??
-
也许他们正在覆盖您的 VBA 代码。 VBA 做了正确的事情,然后你的条件格式就到那里并把它炸毁。
-
而且....您是
running每次更改 shSource 中单元格的值时的代码吗?或者你把它放在一些SheetUpdateevent 中?