Excel 偏移公式中的活动单元格

Excel 偏移公式中的活动单元格,excel,vba,offset,Excel,Vba,Offset,我想使用activecell和offset函数在下面的代码中声明“MyRange” 我收到一个错误。 在代码中,我希望MyRange等于activecell前面五列的单元格 ActiveWorkbook.Names.Add Name:="MyRange", RefersToR1C1:=ActiveCell.Offset(0, -5) 偏移量(0,-5)指左侧五列的单元格。如果活动单元格的列小于或等于5,则偏移量(0,-5)表示不存在的列 为了避免运行时错误,您可以检查活动

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

我收到一个错误。

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

ActiveWorkbook.Names.Add Name:="MyRange", RefersToR1C1:=ActiveCell.Offset(0, -5)
偏移量(0,-5)
指左侧五列的单元格。如果活动单元格的列小于或等于5,则偏移量(0,-5)表示不存在的列

为了避免运行时错误,您可以检查活动单元格的列是否大于5,如下所示

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

偏移量(0,-5)
表示引用左侧的5列,如果活动单元格位于第5列、第4列或更少,则尝试引用列为0,-1。。。这是不存在的。感谢Storax的工作!我在一个vlookup公式中使用“MyRange”,当我填写这个vlookup时,每个vlookup都引用同一个单元格。你知道我可以为每一行引用ActiveCell.Offset(0,-3)吗?我可以与你分享我的代码,如果这有助于/请创建一个包含必要信息的新帖子。