未设置对象变量(错误 91)

此过程包含两个步骤。 首先,您必须声明对象变量。 然后,您必须使用 Set 语句来分配对该对象变量的有效引用。

同样的,必须通过执行 With 语句入口点来初始化 With...End With 块。 此错误具有以下原因和解决方案:

  • 您尝试使用尚未引用有效对象的对象变量。

    指定或重新指定对象变量的引用。 例如,如果在以下代码中省略 Set 语句,则在引用 MyObject 时会出错:

      Dim MyObject As Object    ' Create object variable. 
      Set MyObject = Sheets(1)    ' Create valid object reference. 
      MyCount = MyObject.Count    ' Assign Count value to MyCount. 
    
  • 您尝试使用已设置为 Nothing 的对象变量。

      Set MyObject = Nothing    ' Release the object. 
      MyCount = MyObject.Count    ' Make a reference to a released object. 
    

    重新指定对象变量的引用。 例如,使用新的 Set 语句来设置对对象的新引用。

  • 该对象是有效对象,但无法设置该对象,因为尚未在 Add References 对话框中选中描述该对象的对象库

    Add References 对话框中选中对象库。

  • GoTo 语句的目标位于 With 块中。

    不要跳到 With 块中。 请确保通过执行 With 语句入口点来初始化块。

  • 您在选择 Set Next Statement 命令时已在 With 块中指定一个行。

    必须通过执行 With 语句来初始化 With 块。

有关其他信息,选择有问题的项并按 F1(在 Windows 中)或 HELP(在 Macintosh 上)。

注意

有兴趣开发跨多个平台扩展 Office 体验的解决方案吗? 查看新的 Office 外接程序模型。 与VSTO外接程序和解决方案相比,Office外接程序占用的空间较小,您可以使用几乎任何Web编程技术(例如HTML5,JavaScript,CSS3和XML)来构建它们。

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。