如果列D在同一行中有"AI“,我想使用Excel 2007中的VBA设置G列的格式。
如果我在条件格式编辑器中手动执行此操作,则公式=(D1 = "AI")
将正常工作。
如果我试图将这个公式添加到FormatConditions.Add方法的Formula1子句中,我必须放入="(D1 = ""AI"")"
,否则解释器会抱怨。但这是字面上复制的,使用双引号作为条件,格式设置不做任何操作。
我应该在Formula1中放入什么?
安东尼奥
发布于 2013-05-09 01:22:16
这对我很有效:
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,然后设置格式。我知道通常你不需要选择,但在这种情况下,这是我能让它工作的唯一方法。
发布于 2013-05-09 01:05:09
使用以下公式:
=$F$1="AI“
这将导致下面的结果。
在VBA中,您可以这样做:
="=$F$1=" + Chr (34) + "AI" + Chr (34) + ")"
Chr (34)是"
(双引号)
您还可以使用:
如果Range("F1") = "AI“,则Range("G1").Interior.Color = 65535
发布于 2013-05-09 01:03:48
如果您是在VBA中执行此操作,那么为什么要使用条件格式?只需查看G中的值,并直接在VBA代码中设置F的格式。
https://stackoverflow.com/questions/16445910
复制相似问题