条件格式宏给我 运行-时间错误 1004 错误

Conditional Formating macro gives me Run-time error 1004 error

打开一个excelsheet

A1单元格

中输入橙色

A2单元格

中输入香蕉

B1单元格

中输入15

B2单元格

中输入23

转到开发人员选项卡,然后单击录制宏按钮

单击确定以录制宏。

Select A1 和 A2 个单元格在一起

转到主页选项卡 > 条件格式 > 新规则 > 使用公式确定要设置格式的单元格

类型=B1>12

单击格式化按钮

单击数字 选项卡

单击自定义按钮

键入 " "@

单击确定按钮

再次单击确定按钮

转到开发人员选项卡,然后单击停止录制按钮

Alt+F11 以查看以下宏。

Sub Macro1()
Range("A1:A2").Select
Selection.NumberFormat = """""@"
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=B1>12"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
ExecuteExcel4Macro "(2,1,""""""@"")"
Selection.FormatConditions(1).StopIfTrue = False
End Sub

当你运行你录制的宏时,你会看到错误(运行-时间错误1004)。

你知道如何解决运行-时间错误1004吗?

我做了一些研究,找到了您的解决方案 here 宏记录器正在恢复到旧的 ExecuteExcel4Macro 命令,以便为条件格式规则设置数字格式。这不是必须的。

您的代码应如下所示:

Sub Macro1()

With ActiveSheet.Range("A1:A2")
     .FormatConditions.Delete 'Removes all the rules from the selection first
     .FormatConditions.Add Type:=xlExpression, Formula1:="=B1>12"
     .FormatConditions(.FormatConditions.Count).SetFirstPriority
     .FormatConditions(1).NumberFormat = """""@"
     .FormatConditions(1).StopIfTrue = False
End With
End Sub