2009-06-30 49 views
8

在VB.NET中,一旦你開始輸入,智能感知就會彈出,這給你一個你可以使用的完整列表。然而,在我使用的部件之後放置了一段時間之後,我的智能感知在VBA中不會啓動。例如,我進入Excel 2007中的VBA編輯器並開始鍵入單詞「Range」,但只有輸入「Range.」之後,智能感知纔會出現,然後它會提供我可以在此處使用的一些列表。有沒有辦法在Access和Excel 2007中獲得完整的IntelliSense for VBA?

有沒有什麼辦法讓智能感知拿出早在VBA編輯器,讓我能看到,可以像DavgDCount等使用的東西的清單?

回答

13

不,但您可以先鍵入Excel。在此之後放一段時間,你會發現比你想知道的Excel更多的東西。

與Access一樣。鍵入Access和一段時間,您將在那裏找到DCount

3

VBA是一個不同於.NET的野獸,所以我不確定如何更快地調出IntelliSense。我發現我有你在2003年遇到的同樣的問題。

雖然我會建議檢查對象瀏覽器。在2003年,它是在VB編輯器中的視圖>對象瀏覽器,或F2。我覺得這是探索可用的類庫的好方法。它會向您顯示您當前所引用的所有內容,一旦您引用了更多庫,它們也將顯示在對象瀏覽器中。

27

只需按Ctrl + 空間隨時在編輯器中。

+0

這也可以。 – 2009-06-30 21:39:03

+0

你改變了我的人生。我很高興,同時也很鬱悶。我累累地浪費了我一生中不知道這一年的事情。 – MatthewHagemann 2017-04-11 14:03:18

9

不幸的是,在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] 
相關問題