据我所知,这应该是一个有效的语法。然而,当我运行这个时,我得到:
对象"_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。
-
表达式 范围(arg)-
arg
是字符串的形式Set rngColor = Range(Activecell.Offset(0, 1).Address) ' correct way
-
表达式 范围(单元格(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语法
但是,要想做你想做的事,用户的回答是最好的方式。