为什么我不能把这个范围作为一个variables来传递?
鉴于这一声明:
Dim myRange As Range Set myRange = Sheets("Dashboard").Range("$J$3:$K$9")
为什么这不工作?
mySub (myRange)
是的,这是吗?
mySub (Sheets("Dashboard").Range("$J$3:$K$9"))
当我尝试传递myRange
我只是Run-time error '424': Object required
放下这个包子
mySub myRangePassedByReference
通过将参数括在括号中,您可以强制传递它ByVal
:
mySub (myRangePassedByValue)
…即使mySub
使用参数ByRef
,隐式或显式(当没有指定修饰符时, ByRef
是默认值)。
正如评论中所build议的那样,您可以在前面添加一个Call
关键字,但请注意Call
已经过时了大约20年,所以不要那么做。