什么数据types是Excel VBA中的范围?
我试图使用这样的代码,这是失败的:
data = Range("A1") MsgBox data.Offset(1,1)
这看起来应该打印单元格B2的值,但它却给我一个错误( Run-time error 424: Object required.
)。
那么expression式Range("A1")
返回的数据types是什么,以及如何将data
声明为正确的数据types来存储它?
Range
是一个对象。
这意味着你需要使用set
来分配一个对象引用:
Dim data As Range Set data = Range("A1")
背景信息 :
设置关键字:在VBA中,必须使用Set关键字来区分对象的赋值和赋值对象的默认属性。
一个范围的数据types,令人惊讶的是, Range
🙂
如果你得到一个消息,需要一个对象,那么你几乎肯定需要使用set
:
set data = Range("a1")
这是大多数人遇到的经典“疑难杂症”。 完整的代码片段将是:
Dim data As Range Set data = Range("a1")