条件格式宏给我 运行-时间错误 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
打开一个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