在MsgBox Error中调用Range方法

时间:2015-10-23 04:43:27

标签: excel vba methods

为什么会这样:

Sub testsub()
myRange = Range("A1:A5").Address

MsgBox myRange

End Sub 

但这会引发RunTime' 424'需要对象吗?

Sub testsub()
myRange = Range("A1:A5")

MsgBox myRange.Address

End Sub

1 个答案:

答案 0 :(得分:2)

对象引用意味着使用set命令创建,因此更改第二个示例如下:

set myRange = Range("A1:A5")
MsgBox myRange.Address

所以应该提出的问题并不是为什么它不能在你的第二个例子中起作用,而是为什么 在第一个例子中工作。

我相信这是因为您从未真正尝试在那里存储对象。相反,您使用范围对象来访问Address属性,以及该字符串(VBA基本数据类型之一)而不是对象。