[英]Excel-VBA conditional formatting with vlookup: why does my argument change ($B1 to $B1048573)
我有点感到困惑,“因为我找不到防止excel更改的方法...但是让我们从头开始。
我正在为我的宏执行以下代码:
ActiveWorkbook.Names.Add Name:="DBM", RefersToR1C1:= _
"='Sheet A'!C35:C39"
With Worksheets("Sheet B").Range("$B:$B").FormatConditions _
.Add(Type:=xlExpression, Operator:=xlExpression, Formula1:="IF(ISBLANK(VLOOKUP($B1;DBM;5;FALSE));TRUE;FALSE)")
With .Interior
.ColorIndex = 3
End With
End With
这有点用,但不能满足我的全部需求。 它会自动将我的$B1048573
函数中的$B1
参数更改为$B1048573
这就是格式化错误行(背景色为红色)的原因。 如果我手动将其更改回$B1
那将是完全正确的。
因此,我尝试将其添加到宏中:
Worksheets("Sheet B").Range("$B:$B").FormatConditions(1) _
.Modify Type:=xlExpression, Operator:=xlExpression, Formula:="IF(ISBLANK(VLOOKUP($B1;DBM;5;FALSE));TRUE;FALSE)")
不幸的是,它再次进行了更改($ B1048573)。
有任何想法解决该问题吗? 还是我每次使用宏时都必须手动将其更改回原来的状态?
首先选择B1
这几乎是解决方案。 只是想在这里添加,所以每个有相同问题的人都可以立即找到答案。
谢谢罗里。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.