2

打开一个 Excel 工作表

A1单元格中键入橙色

A2单元格中键入香蕉

B1单元格中键入15

B2单元格中键入23

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

单击OK以录制宏。

一起选择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吗?

4

1 回答 1

2

我做了一些研究,在这里找到了您的解决方案宏记录器正在恢复为旧的 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
于 2021-02-02T23:18:59.907 回答