识别红色单元格

use*_*632 2 excel vba msgbox

标题可能通常很简单,但即使在网上搜索了几个论坛后,我也没有得到解决方案。

让我解释一下这个问题。

我有一个 excel 工作簿,其中很少有列使用 if 条件引用其他单元格。根据单元格的内容,定义单元格的背景颜色。例如。如果单元格为空白,它会自动变为红色。这些红色单元格表示缺少信息。所以我试图设计一个宏来识别这些红细胞并获取每个红细胞的地址。

为此,我使用了代码进行测试, MsgBox IIf(ActiveCell.Interior.ColorIndex = 3, "Yes", "No")

但这不起作用。原因是,无论它是什么颜色,宏都将颜色索引标识为 -4142。无论是白色还是蓝色或红色,它仍然显示-4142。

当我在论坛上问这个问题时,我被重定向到这个页面。

http://www.cpearson.com/excel/CFColors.htm

我测试了该页面中给出的功能。它适用于我创建的示例工作簿。但不在我试图验证的工作簿中。

请你帮助我好吗?

Ali*_*eir 5

使用以下对我有用,我在 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
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

编辑:

这也适用于colorindex = 3我认为您的问题是activecellIIf