繁体   English   中英

使用vlookup的Excel-VBA条件格式:为什么我的参数更改(从$ B1到$ B1048573)

[英]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)。

有任何想法解决该问题吗? 还是我每次使用宏时都必须手动将其更改回原来的状态?

评论来自Rory

首先选择B1

这几乎是解决方案。 只是想在这里添加,所以每个有相同问题的人都可以立即找到答案。

谢谢罗里。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM