抵消公式中的 ActiveCell

Offsetting the ActiveCell in a formula

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

我收到一个错误。

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

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

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