VBA智能感知只在第一个时间段之后显示,并且在input第一个之后没有等级

我是VBA新手。 我在intellisense上遇到了麻烦,但是在这里我没有find任何答案,似乎人们有一个和我不一样的问题。

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

它的作品 – 这是一个有效的命令,但我想学习,如果我这样做:

Filepath = ActiveWorkbook。

然后,intellisense出现,ActiveSheet将在那里。 但是,如果我把另一个。 活动工作表后,其他选项不会出现,这意味着细胞不会作为一个选项。 所以就好像在第一个Intellisense之后没有其他方法/属性。

但是如果我要做这样的事情:

昏暗的表格作为工作表

设置mysheet = ActiveWorkbook.ActiveSheet

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

ActiveSheet实际上是一个Object ,而不是一个Worksheet (使用F2检查VBE中的对象资源pipe理器)。 所以Intellisense不知道它是一个Worksheet ,并不知道它是什么成员。 当您明确地将其设置为Worksheetvariables时,它知道variables的types,并可以使用它来确定关联的成员。

对象浏览器

ActiveSheet是一个Object因为Chart对象也可以有自己的图纸,如果当前Chart被激活,它将是ActiveSheet的值。 这与Workbook.WorksheetsWorkbook.Sheets都存在相同的原因 – 前者只是Worksheet对象,后者也可以包含Chart对象。 因此, Sheets(1)也返回一个Object ,所以inputActiveWorkbook.Sheets(1). 也不会触发智能感知。