在公式中偏移ActiveCell。

问题描述 投票:0回答:1

enter image description here嗨,我想在下面的代码中使用activecell和offset函数声明 "MyRange",但我一直收到一个错误。正如你在代码中看到的,我希望MyRange等于activecell前面5列的单元格。任何帮助将被感激

ActiveWorkbook.Names.Add Name:="MyRange", RefersToR1C1:=ActiveCell.Offset(0, -5)
vba offset
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.