无法将范围变量设置为 ActiveCell.Offset

Can't set range variable to ActiveCell.Offset

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

Method 'Range' of object '_Global' failed

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 link,有多种方法可以处理 Range。

  1. expression.Range(arg) - arg形式为string

    Set rngColor = Range(Activecell.Offset(0, 1).Address) ' correct way
    
  2. 表达式.范围(单元格(1),cells(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 语法。
但是,还是要为所欲为,.