vba中的条件格式公式中的string
如果列D在Excel 2007中使用VBA在同一行中具有“AI”,我想格式化G列。
如果我在条件格式编辑器中手动执行,则公式=(D1 = "AI")
可正常工作。
如果我尝试将此公式添加到FormatConditions.Add方法的Formula1子句中,我必须将="(D1 = ""AI"")"
或解释器抱怨。 但是这是复制字面上的双重双引号作为条件和格式不起作用。
我应该在Formula1中input什么?
安东尼奥
这对我工作:
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来设置条件格式一直有点(至less对我来说)。 我能得到它的唯一方法是selectG1,然后设置格式。 我通常知道你不需要select,但在这种情况下,这是唯一能让它工作的方法。
使用这个公式:
= $ F $ 1 = “AI”
这将导致下面。
在VBA中你可以这样做:
="=$F$1=" + Chr (34) + "AI" + Chr (34) + ")"
Chr(34)是"
(双引号)
你也可以使用:
如果范围(“F1”)=“AI”,则范围(“G1”)。Interior.Color = 65535
如果你在VBA中这样做,那你为什么要使用条件格式呢? 只需查看G中的值,并直接在VBA代码中设置F的格式。