首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果不是(range)或(range) = Nothing,则

如果不是(range)或(range) = Nothing,则
EN

Stack Overflow用户
提问于 2019-08-27 08:50:05
回答 1查看 67关注 0票数 1

我正在处理一个宏来突出显示某些行/单元格,以便进一步查看。一些值/空白将以红色突出显示,而其他值/空白将以橙色突出显示,而整行应为黄色。我从前面的问题中得到了一些帮助,并添加了更多细节,它几乎完美地工作,但我被最后一件事卡住了,找不到任何类似的问题。我希望指定的单元格在同一黄色行上为橙色和红色。我可以实现橙色或红色,但当它通过下一次检查时,它将以黄色重新突出显示行-丢失先前的颜色。

例如,如果A列为空,则A列必须为红色;如果B列填充了“No”,则B列必须为橙色。如果我使用相同的颜色,我的所有检查都可以正常工作,但当我将其设置为同时使用两种颜色时,则会失败。

我的代码使用:

如果不是rngRed,则rngRow.Interior.Color=vbYellow rngRed.Interior.Color=vbRed为Nothing

我想不出一种方法来处理橙色(颜色指数45)到这个混合中而不用out。如果您需要比我提供的小部分更多的代码,请让我知道,或者对如何实现这一点有任何其他想法。谢谢!

这是可行的:

代码语言:javascript
运行
复制
    If Not rngRed Is Nothing Then
    rngRow.Interior.Color=vbYellow
    rngRed.Interior.Color=vbRed

这不起作用:

代码语言:javascript
运行
复制
        If Not rngRed Or rngOrange = Nothing Then
            rngRow.Interior.Color = vbYellow
            rngRed.Interior.Color = vbRed
            rngOrange.Interior.ColorIndex = 45
        End If
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-27 09:25:33

根据重读你的问题,听起来你想要做以下事情:

1)将行显示为黄色。

2)如果不是nothing,则为rngRed上色。

3)如果不是nothing,则为rngOrange上色。

所以就像这样:

代码语言:javascript
运行
复制
rngRow.Interior.Color = vbYellow

If Not rngRed Is Nothing Then
    rngRed.Interior.Color = vbRed
End If

If Not rngOrange Is Nothing Then
    rngOrange.Interior.ColorIndex = 45
End If
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57666450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档