我正在尝试使用 VBA 创建条件格式规则并将其应用于多个单元格。
我尝试通过仅为一个单元格创建规则,然后编辑每个 formatcondition 对象的 applyto 属性来实现这一点。看这里:
Sub test()
Dim strRange As String
Dim myRange As Range
strRange = "$B$4,$B$9:$BS$9"
With Sheets("Sheet1").Range("B4")
.FormatConditions.Delete
.FormatConditions.Add xlExpression, xlEqual, "=ISBLANK(RC)"
.FormatConditions(.FormatConditions.Count).SetFirstPriority
.FormatConditions(1).StopIfTrue = True
.FormatConditions(1).AppliesTo = strRange
End With
End Sub
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用,因为一旦到达AppliesTo行,它实际上会更改单元格本身的值,而不是修改格式条件的AppliesTo属性。
修改单元格条件格式规则的“应用于”属性的最佳方法是什么?
我知道我可以修改我的“with”语句以包含我想要修改的其他单元格;不仅仅是 B4 单元格。这样做的问题是 range() 对象只能接受不超过 1024 个字符的字符串参数。事实上,我想将此规则应用于大量不连续的单元格,从而打破 1024 个字符的限制。
vba conditional-formatting microsoft-excel microsoft-excel-2016