小编dut*_*irf的帖子

如何使用 VBA 修改单元格条件格式规则的“应用于”属性?

我正在尝试使用 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

4
推荐指数
1
解决办法
7759
查看次数