标题可能通常很简单,但即使在网上的几个论坛上进行研究之后我也没有得到解决方案。
让我解释一下这个问题。
我有一个excel工作簿,如果引用其他单元格的条件,很少使用列。根据单元格的内容,定义单元格的背景颜色。例如。如果单元格为空,则会自动更改为红色。这些红色单元表示缺少信息。所以我试图设计一个宏来识别这些红细胞并得到每个红细胞的地址。
为此,我使用了代码进行测试,MsgBox IIf(ActiveCell.Interior.ColorIndex = 3,“是”,“否”)
但这不起作用。原因是,宏将颜色索引标识为-4142,而不管它是什么颜色。无论是白色,蓝色还是红色,它仍然显示-4142。
当我在论坛中提出这个问题时,我被重定向到此页面。
http://www.cpearson.com/excel/CFColors.htm
我测试了该页面中给出的功能。它适用于我创建的示例工作簿。但不是在我试图验证的工作簿中。
你能帮我吗?
答案 0 :(得分:2)
使用以下作品,我在C默认为红色的几个单元格。
Dim ws As Worksheet
Set ws = Sheets("sheet1")
Dim i As Integer
i = 1
Do Until i = 11
If ws.Range("C" & i).Interior.Color = RGB(255, 0, 0) Then
debug.print "C" & i & " is red!!"
End If
i = i + 1
Loop
修改强>
这也适用于colorindex = 3
我认为您的问题是activecell
和IIf