我在尝试调试VBA例程时发现了一个有趣的问题,该例程对一个范围内的工作表列表进行排序,然后重新绘制该范围内的边框 .
包含的范围在名称管理器中定义,公式如下所示
=Tables!$L$2:$L$22
发生的问题是,在执行工作表名称工作时,有时会删除单元格,有时会插入单元格 . 这会更改指定范围中的单元格地址值 . 因此,如果我删除了两个单元格并插入了一个单元格,则公式将更改为
=Tables!$L$2:$L$21
如果我碰巧插入第一个单元格(L2),则公式将更改为
=Tables!$L$3:$L$22
我确定问题可以使用 Headers 范围名称和偏移一个来解决,但我不知道如何在命名范围的公式中这样做,因为我已经尝试了很多方法并且无法正确 . 但我还需要结束范围地址是静态的 .
任何帮助赞赏 .
2 回答
要尝试的一件事是使用:
而不是
这是一个可接受的名称,但我不确定您是否会获得相同的功能 .
找到比使用静态标头范围的注释更好的方法 . 您只需使用 Headers 中的偏移功能定义整个范围 .
其中1,0,21,1是从 Headers 偏移1行,0列偏移,21是行高,1只是那一列