据我所知,这应该是一种有效的语法。但是,当我运行它时,我得到:
方法'范围'对象' _Global'失败
Dim rngColor as Range
Set rngColor = Range(ActiveCell.Offset(0, 1))
知道我做错了什么吗? 谢谢!
答案 0 :(得分:2)
您可以删除范围(),只需删除
Dim rngColor as Range
Set rngColor = ActiveCell.Offset(0, 1)
答案 1 :(得分:0)
As far as I know, this should be a working syntax
不完全。
根据这个MSDN link,有各种方法可以使用Range。
表达式。范围(arg) - arg
采用字符串形式
Set rngColor = Range(Activecell.Offset(0, 1).Address) ' correct way
表达。范围(单元格(1),单元格(2)) - { {1}}和cells(1)
可以是对象
cells(2)
您正在尝试使用上面的No.1语法,该语法不接受With Activecell
Set rngColor = Range(.Offset(0, 1), .Offset(0, 1)) ' using Activecell object
End With
作为参数
如果您想按原样传递Objects
,则应使用No.2语法
但是,要做你想做的事,user's answer is the best way。