在公式中抵消ActiveCell

时间:2020-05-14 18:40:06

标签: excel vba offset

我想通过使用activecell和offset函数在下面的代码中声明'MyRange'。

我收到错误消息。
enter image description here

在代码中,我希望MyRange等于activecell前面五列的单元格。

ActiveWorkbook.Names.Add Name:="MyRange", RefersToR1C1:=ActiveCell.Offset(0, -5)

1 个答案:

答案 0 :(得分:1)

Offset(0, -5)指的是左边五列的单元格。在活动单元格的列小于或等于5的情况下,Offset(0, -5)表示不存在的列。

为了避免运行时错误,您可以像这样检查活动单元格的列是否大于5

If ActiveCell.Column > 5 Then
    ActiveWorkbook.Names.Add Name:="MyRange", RefersToR1C1:=ActiveCell.Offset(0, -5)
End If