首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >vba中条件格式设置公式中的字符串

vba中条件格式设置公式中的字符串
EN

Stack Overflow用户
提问于 2013-05-09 00:42:33
回答 3查看 14.4K关注 0票数 0

如果列D在同一行中有"AI“,我想使用Excel 2007中的VBA设置G列的格式。

如果我在条件格式编辑器中手动执行此操作,则公式=(D1 = "AI")将正常工作。

如果我试图将这个公式添加到FormatConditions.Add方法的Formula1子句中,我必须放入="(D1 = ""AI"")",否则解释器会抱怨。但这是字面上复制的,使用双引号作为条件,格式设置不做任何操作。

我应该在Formula1中放入什么?

安东尼奥

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-09 01:22:16

这对我很有效:

代码语言:javascript
运行
复制
Sub Macro2()

Sheet1.Range("G1").Select
With Sheet1.Range("G:G")
    .FormatConditions.Delete
    .FormatConditions.Add Type:=xlExpression, Formula1:="=F1=""AI"""
    .FormatConditions(1).Interior.ColorIndex = 3
End With
End Sub

此外,使用VBA设置条件格式总是有些不可靠(至少对我来说是这样)。我能让它工作的唯一方法是选择G1,然后设置格式。我知道通常你不需要选择,但在这种情况下,这是我能让它工作的唯一方法。

票数 3
EN

Stack Overflow用户

发布于 2013-05-09 01:05:09

使用以下公式:

=$F$1="AI“

这将导致下面的结果。

在VBA中,您可以这样做:

代码语言:javascript
运行
复制
="=$F$1=" + Chr (34) + "AI" + Chr (34) + ")"

Chr (34)是" (双引号)

您还可以使用:

如果Range("F1") = "AI“,则Range("G1").Interior.Color = 65535

票数 1
EN

Stack Overflow用户

发布于 2013-05-09 01:03:48

如果您是在VBA中执行此操作,那么为什么要使用条件格式?只需查看G中的值,并直接在VBA代码中设置F的格式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16445910

复制
相关文章

相似问题

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