我理解为什么ActiveSheet不会弹出它,因为它可以返回工作表或图表,因此它不知道要列出哪组属性/方法,但是如果我在工作表中明确引用工作表,集合,为什么不触发Intellisense?
我也想将这个问题扩展到预定义的常量。有时会弹出一个属性的预定义常量列表,但有时却不会。这是为什么?例如:
Application.Calculation = 将触发预定义常量的列表。
Worksheets(“ Sheet1”)。PageSetup.Orientation = 不会触发预定义常量的列表。
谢谢你的回答,伙计们! :)
答案 0 :(得分:2)
Intellisense需要知道返回的内容,以便为您提供适当的选择。
看看对象浏览器:
Application.Calulation
返回XlCalculation
。您可以通过Intellisense获得选择Worksheets("Sheet1")
返回未指定的Object
,因为它可以是Worksheet
,但不是必须的。这就是Intellisense在此级别上中断的原因。答案 1 :(得分:2)
如果Excel确切知道您想要什么,则Intellisense可以工作。
如果您在Sub或Function中执行此操作,那么它将起作用。
Dim sh As Excel.Worksheet
Set sh = ThisWorkbook.Worksheets("DUMMY")
sh.PageSetup.Orientation = here comes the Intellisense
Set sh = Nothing
答案 2 :(得分:1)
如果将每个对象声明为变量并向程序说明对象的类型,则Intellisense将正常工作。
请参阅以下示例。 Intellisense不适用于图表(1),工作表(“ Sheet1”),单元格(1、1)。 但是Ws,rng,myChart都可以。
Sub test()
Dim Ws As Worksheet
Dim rng As Range
Dim myChart As Chart
Set myChart = Charts(1)
Set Ws = Worksheets("Sheet1")
Set rng = Cells(1, 1)
End Sub