有没有办法在Access和Excel 2007中获得VBA的完整IntelliSense?

时间:2009-06-30 20:18:17

标签: vba intellisense

在VB.NET中,一旦开始输入,IntelliSense就会弹出,这会为您提供当时可以使用的完整列表。然而, VBA 中的智能感知在我正在使用的部分之后放置一段时间后才对我有用。例如,我进入Excel 2007中的VBA编辑器并开始键入单词“Range”,但直到我键入“Range.”之后才会出现IntelliSense,之后它会给我一个列表我可以在那时使用的东西。

有没有办法让智能感知在VBA编辑器中更早出现,这样我就可以看到可以使用的内容列表,如DavgDCount等?< / p>

4 个答案:

答案 0 :(得分:28)

只需在编辑器中按 Ctrl + Space 即可。

答案 1 :(得分:14)

不,但您可以先键入Excel。放一段时间后,你会发现比你想知道更多的Excel。

与Access相同。输入Access和句点,您会在那里找到DCount

答案 2 :(得分:8)

不幸的是,在Excel中,某些对象被声明为“As Object”,而Object没有任何方法,因此Intellisense将无法显示任何对象。主要罪魁祸首是Excel.ActiveSheet。

如果您知道该类型实际是什么,那么您可以明确声明它并将其分配给您想要的值。 EG:

Dim mySheet As Worksheet
Set mySheet = ActiveSheet     'This line would cause a type mismatch error if mySheet was declared as something other than a WorkSheet
mysheet.[All The Intellisense For a Worksheet Pops Up]

答案 3 :(得分:3)

VBA与.NET不同,所以我不确定如何更快地启动IntelliSense。我发现我在2003年遇到了同样的问题。

我建议您查看对象浏览器。在2003年,它的视图&gt; VB编辑器中的对象浏览器或F2。我发现这是探索可用类库的好方法。它将显示您当前引用的所有内容,一旦引用了更多库,它们也将显示在对象浏览器中。