VBA怎样判断单元格填充色为红色

我用条件格式设置了单元格的填充色,当填充色为红色时则说明键入的数据有错误。我用以下代码试过了,但是不起作用。IfRange(Chr(64+Column-1)&Trim(S... 我用条件格式设置了单元格的填充色,当填充色为红色时则说明键入的数据有错误。我用以下代码试过了,但是不起作用。
If Range(Chr(64 + Column - 1) & Trim(Str(Row + n - 1))).Interior.ColorIndex = 3 Then
MsgBox ("您键入的数据有误!请核对后再运行!")
Exit Sub
End If

用Range(Chr(64 + Column - 1) & Trim(Str(Row + n - 1))).Interior.ColorIndex = 3倒是可以给该单元格填充上红色。
要求识别条件格式定义的填充底色,正常的填充色可以识别。
展开
 我来答
BAIXINGR

2015-10-26 · TA获得超过3万个赞
知道大有可为答主
回答量:2.9万
采纳率:89%
帮助的人:8902万
展开全部
把它用在工作表的Change事件中是没有问题的。

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Interior.ColorIndex = 3 Then
MsgBox ("您键入的数据有误!请核对后再运行!")
Target.Select '重新指向单元格
Exit Sub
End If
End Sub
摩羯糖芯
推荐于2017-10-14 · TA获得超过6272个赞
知道大有可为答主
回答量:4898
采纳率:31%
帮助的人:474万
展开全部

 Sub abc()

    Dim rng As Range, rng1 As Range

    Dim y As Integer

        Set rng = Range("a1:d9")    ''''A1:D9区域

        For Each rng1 In rng

            y = rng1.Interior.ColorIndex ''''单元格颜色标记数

            If y > 0 Then MsgBox rng1.Address ''''如果Y>0,则提示该单元格的地址

        Next

End Sub

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
china_day
推荐于2017-09-14 · TA获得超过536个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:131万
展开全部
把它用在工作表的Change事件中是没有问题的。

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Interior.ColorIndex = 3 Then
MsgBox ("您键入的数据有误!请核对后再运行!")
Target.Select '重新指向单元格
Exit Sub
End If
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式