如果列 D 在 Excel 2007 中使用 VBA 在同一行中有“AI”,我想格式化列 G。
如果我在条件格式编辑器中手动执行,则公式=(D1 = "AI")
可以正常工作。
如果我尝试将此公式添加到 FormatConditions.Add 方法的 Formula1 子句中,我必须
输入,="(D1 = ""AI"")"
否则解释器会抱怨。但这是用双引号作为条件字面复制的,格式不做任何事情。
我应该在 Formula1 中加入什么?
安东尼奥
这对我有用:
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 然后设置格式。我知道通常你不需要选择,但在这种情况下,这是我让它工作的唯一方法。
使用这个公式:
=$F$1="人工智能"
这将导致以下结果。
在 VBA 中,您可以这样做:
="=$F$1=" + Chr (34) + "AI" + Chr (34) + ")"
Chr (34) 是"
(双引号)
你也可以使用:
If Range("F1") = "AI" Then Range("G1").Interior.Color = 65535
如果您在 VBA 中执行此操作,那么您为什么要使用条件格式呢?直接看G中的值,直接在VBA代码中设置F的格式即可。