无法将范围变量设置为活动单元格偏移量



据我所知,这应该是一个有效的语法。然而,当我运行这个时,我得到:

对象"_Global"的方法"Range"失败

Dim rngColor as Range
Set rngColor = Range(ActiveCell.Offset(0, 1))

知道我做错了什么吗?谢谢

您可以删除range(),然后作为

Dim rngColor as Range
Set rngColor = ActiveCell.Offset(0, 1)

As far as I know, this should be a working syntax不完全
根据这个MSDN链接,有多种方法可以处理Range。

  1. 表达式 范围(arg)-arg是字符串的形式

    Set rngColor = Range(Activecell.Offset(0, 1).Address) ' correct way
    
  2. 表达式 范围单元格(1)细胞(2))-cells(1)cells(2)可以是对象

    With Activecell
        Set rngColor = Range(.Offset(0, 1), .Offset(0, 1)) ' using Activecell object
    End With
    

您正在尝试使用上面的No.1语法,该语法不接受Objects作为参数
如果要按原样传递Activecell,则应使用No.2语法
但是,要想做你想做的事,用户的回答是最好的方式。

最新更新