简单的vba代码给我运行时错误91对象变量或未设置块

时间:2011-03-12 09:44:15

标签: excel vba excel-vba excel-2007

所以当单击一个命令按钮时,我有一个简单的小宏/子定义。问题是它给了我:

运行时错误'91':对象变量或未设置块

我的代码是:

Dim rng As Range
rng = Sheet8.Range("A12") '<< ERROR here
rng.Value2 = "1"

我只想在Sheet8中设置单元格“A12”。

enter image description here

谢谢!

3 个答案:

答案 0 :(得分:35)

您需要使用对象设置:

 Set rng = Sheet8.Range("A12")

Sheet8很好。

 Sheet1.[a1]

答案 1 :(得分:0)

检查 excel 的版本,如果您使用的是旧版本,则 Value2 对您不可用,因此它会显示错误,而它可以与 2007+ 版本一起使用。 或者换句话说,对象没有被创建,因此 Value2 属性对对象不可用。

答案 2 :(得分:0)

您还尝试使用 Set 关键字设置 value2,这不是必需的。可以直接使用rng.value2 = 1

下面是参考的测试代码。

Sub test()
    Dim rng As Range
    Set rng = Range("A1")
    rng.Value2 = 1
End Sub