vba excel条件格式 - 无效的过程调用或参数

刚入门

我有一个 Excel 工作表,我想在其中通过 VBA 添加一个条件公式。当我尝试这样做时,Excel 抛出“无效的过程调用或参数”,我找不到原因。

问题正是这一行:

Set cf = shG.Range("E" & (i - 3) & ":AI" & (i - 2)).FormatConditions.Add(type:=xlExpression, Formula1:="=OR(ISNUMBER(SEARCH(""holiday"",E$" & i & ")),ISNUMBER(SEARCH(""l4"",E$" & i & ")))")

它应该做什么?

如果第 4 行包含“holiday”或“l4”,它应该将第 1 行和第 2 行的字体颜色更改为白色

完整的子:

Sub AddCondForm(shG As Worksheet)
    Dim r As Range
    Dim cf
    Set r = shRoles.Cells(2, 1)
    Do
        For i = 8 To 204 Step 4
            If Not IsEmpty(shRoles.Cells(r.row, 2)) Then
                Set cf = shG.Range("E" & i & ":AI" & i).FormatConditions.Add(type:=xlTextString, String:=r.Value, _
                TextOperator:=xlBeginsWith)
            Else
                Set cf = shG.Range("E" & i & ":AI" & i).FormatConditions.Add(type:=xlCellValue, Operator:=xlEqual, _
                Formula1:=r.Value)
            End If
            cf.Interior.Color = r.Next.Next.Next.Interior.Color
            cf.Font.Color = r.Next.Next.Next.Font.Color
            cf.SetFirstPriority

'HERE IS PROBLEM

            Set cf = shG.Range("E" & (i - 3) & ":AI" & (i - 2)).FormatConditions.Add(type:=xlExpression, Formula1:="=OR(ISNUMBER(SEARCH(""holiday"",E$" & i & ")),ISNUMBER(SEARCH(""l4"",E$" & i & ")))")

'END OF PROBLEM
                cf.Font.ColorIndex = 2 
                'Coloring C Column 
                Set cf = shG.Range("C" & (i - 3) & ":C" & i).FormatConditions.Add(type:=xlExpression, Formula1:="=$A$" & i - 3 & "=1")
                cf.Interior.ThemeColor = xlThemeColorAccent6
                Set cf = shG.Range("C" & (i - 3) & ":C" & i).FormatConditions.Add(type:=xlExpression, Formula1:="=$A$" & i - 3 & "=3/4")
                cf.Interior.ThemeColor = xlThemeColorAccent6
                cf.Interior.TintAndShade = 0.2
                Set cf = shG.Range("C" & (i - 3) & ":C" & i).FormatConditions.Add(type:=xlExpression, Formula1:="=$A$" & i - 3 & "=1/2")
                cf.Interior.ThemeColor = xlThemeColorAccent6
                cf.Interior.TintAndShade = 0.4
                Set cf = shG.Range("C" & (i - 3) & ":C" & i).FormatConditions.Add(type:=xlExpression, Formula1:="=$A$" & i - 3 & "=1/4")
                cf.Interior.ThemeColor = xlThemeColorAccent6
                cf.Interior.TintAndShade = 0.6
            Next
            Set r = shRoles.Cells(r.row + 1, 1)
        Loop Until IsEmpty(r.Value)
    End Sub

PS。我检查了公式本身,它似乎工作正常。其他线路也运行良好。只有这一个,我不知道为什么:'(

刚入门

如果您不是英语用户,这对您来说可能很重要。

如果FormatCondition.Add您需要添加与手动输入完全相同的公式。因此,如果您的语言中的分隔符不是逗号,例如在波兰(我们有分号),您将不得不使用该分隔符并将您的公式翻译成该语言。

就我而言,这意味着我必须将公式更改为

=LUB(CZY.LICZBA(SZUKAJ.TEKST(""holiday"";E$" & i & "));CZY.LICZBA(SZUKAJ.TEKST(""l4"";E$" & i & ")))"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Excel VBA调用SQL存储过程(日期参数-无结果!)

VBA Excel:参数数量错误或调用函数的属性分配无效

Excel VBA MySql参数化更新“无效参数类型”

使用excel vba /条件格式设置2提醒日期

运行时错误'5':通过VBA更新报表过滤器时,无效的过程调用或参数

在VBA函数中使用Application.Match时出现“无效的过程调用或参数”

VBA Excel条件正确案例格式

VBA;无效的过程或参数错误

Excel中的VBA字体条件格式

使用参数调用Excel VBA子例程

无效的过程调用或参数vba。运行时错误5

在VBA中使用通配符进行条件格式设置(Excel 2003)

与Excel VBA中的条件格式有关的宏问题

在Excel VBA中调用函数时无效的过程调用或参数

条件格式行VBA

VBA-While While循环返回Dir <无效的过程调用或参数>

在Excel中使用日期值以通过VBA应用条件格式

将访问查询导入 excel 表时出现“无效的过程调用或参数”

填充 ComboBox 时无效的过程调用或参数 vba

如何在 Excel VBA 中对标签进行条件格式设置

VBA 数据透视表运行时错误 5:无效的过程调用或参数

获取下一个文件时,Excel VBA 中的过程调用或参数无效

Excel 条件格式公式和范围 (VBA)

VBA 帮助 - 运行时错误 5:无效的过程调用或参数,仅在首次运行时

VBA 中的无效过程调用和参数错误

Excel VBA - 将条件格式公式应用于范围

VBA在使用条件格式excel时遇到问题

Excel VBA 不能创建超过 3 个条件格式规则?

Excel 条件格式。也许用VBA脚本?