VBA Intellisense仅在第一个句点之后显示,而在键入第一个

时间:2016-08-23 17:23:57

标签: excel vba excel-vba macros intellisense

我是VBA的新手。我在智能感知方面遇到了麻烦,但我在这里找不到任何答案,似乎人们遇到了与我不同的问题。

每当我输入: FilePath = ActiveWorkbook.ActiveSheet.Cells(5,6).Value

它有效 - 这是一个有效的命令,但我正在努力学习,如果我这样做:

Filepath = ActiveWorkbook。

然后intellisense出现,ActiveSheet将在那里。但是如果我放另一个。在Active Sheet之后,其他选项将不会出现,这意味着Cell不会作为选项出现。所以就像在第一个智能感知之后没有其他方法/属性。

但是,如果我要做的事情如下:

将mysheet作为工作表

进行调暗

设置mysheet = ActiveWorkbook.ActiveSheet

然后我做mysheet。 intellisense将为此提出并向我展示“细胞”和其他选项,但不低于此。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:4)

ActiveSheet实际上是Object,而不是Worksheet(使用F2检查VBE中的对象资源管理器)。所以Intellisense不知道它是Worksheet,并且不知道它有什么成员。当您将其显式设置为Worksheet变量时,它知道变量的类型,并可以使用它来确定关联的成员。

Object Explorer

ActiveSheetObject,因为Chart个对象也可以拥有自己的工作表,如果当前激活了Chart工作表,则其值为{{ 1}}。这与ActiveSheetWorkbook.Worksheets都存在的原因相同 - 前者仅为Workbook.Sheets个对象,后者也可包含Worksheet个对象。因此,Chart也会返回Sheets(1),因此输入Object也不会触发智能感知。