什么数据类型是Excel VBA中的范围?

Joe*_*Joe 2 excel vba

我正在尝试使用这样的代码,但它失败了:

data = Range("A1")
MsgBox data.Offset(1,1)
Run Code Online (Sandbox Code Playgroud)

这似乎应该打印单元格B2的值,但它给了我一个错误(Run-time error 424: Object required.).

那么表达式Range("A1")返回什么数据类型,以及如何声明data存储它的正确数据类型?

ber*_*nie 9

Range是一个对象.
这意味着您需要使用set来分配对象引用:

Dim data As Range
Set data = Range("A1")
Run Code Online (Sandbox Code Playgroud)

背景资料:

设置关键字:在VBA中,必须使用Set关键字来区分对象的赋值和对象的默认属性的赋值.