【发布时间】:2018-04-21 01:43:07
【问题描述】:
在 Excel 2016 上运行通过 Excel VBA 进行条件格式设置存在问题。 我有以下简单的代码:
With targetSheet.Range("J:J")
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, _
Formula1:="=AND(ISBLANK($J1), NOT(ISBLANK($A1)), ISBLANK($K1))"
.FormatConditions(1).Interior.ColorIndex = 53
End With
(targetSheet 已在别处定义,因此无需担心)。
此代码在我的计算机上运行良好。没有运行时错误,当我打开条件格式弹出窗口时,我看到正确的公式如下:
"=AND(ISBLANK($J1), NOT(ISBLANK($A1)), ISBLANK($K1))"
(包括引号)
当我将此 Excel 发送给办公室中的其他人(我们所有人都有 Excel 2016)时,他们中的一些人收到以下错误:
“运行时错误'5':无效的过程调用或参数。”
调试后发现Error是=AND操作符引起的。
如果我删除=(等号),它在运行时不会失败,但条件格式功能是错误的。当我打开条件格式弹出窗口时,它显示:
="AND(ISBLANK($J1), NOT(ISBLANK($A1)), ISBLANK($K1))"
Formula1: 的正确语法是什么?
【问题讨论】:
-
您使用的是什么版本的 Excel?以及您是如何发现错误是由
=And引起的?
标签: excel excel-formula runtime-error conditional-formatting vba