在 Excel 2007 中的 VBA 编辑器中,为什么当我输入 Worksheets(1)。时,Excel 不会列出 Worksheet 对象的成员?(以及如何修复此问题)

在 Excel 2007 中的 VBA 编辑器中,为什么当我输入 Worksheets(1)。时,Excel 不会列出 Worksheet 对象的成员?(以及如何修复此问题)

解释问题的图片:

在此处输入图片描述

笔记:

  • 我有工具:选项:选择了自动列出成员选项
  • Ctrl+Space 失败
  • 我知道我可以使用对象浏览器来查看可以与工作表对象一起使用的成员,但是如果 Excel 显示列表,那就更容易了。

答案1

这是因为Worksheets对象项目属性返回一个对象(或者在 VB 中称为 Variant 数据类型)。代码完成下拉列表不知道要显示哪些方法,因为返回值不是强类型的对象Worksheet。除非 Excel 更改代码以使用强类型集合或启发式地找出数据类型,否则无法更改 Item 属性的此行为。

但是,你可以将返回的对象分配给类型变量,这样代码完成就会起作用。例如:

Worksheet Sheet1 = Worksheets(1)
Sheet1.

在 Sheet1 后输入句点时,您将获得完成列表。这是因为返回的对象现在被转换为类型Worksheet,并且 Excel 知道与该类型相关联的方法。

相关内容