2009-06-30 7 views
8

VB.NETでは、入力を開始するとすぐにIntelliSenseがポップアップし、その時点で使用できるものの完全なリストが表示されます。しかし、IntelliSenseのVBAは、あなたが使用している部分の後にピリオドが置かれるまで、私のためにキックオフされません。たとえば、Excel 2007のVBAエディタに入り、 ""という単語を入力し始めますが、 "Range."と入力するとIntelliSenseが表示されず、その時点で使用できるもののリストが表示されます。AccessとExcel 2007でVBA用IntelliSenseを完全に入手する方法はありますか?

DavgDCountなどのように使用できるもののリストを見ることができるように、IntelliSenseをVBAエディタに早く登場させる方法はありますか?

答えて

13

いいえ、最初にExcelと入力してください。それ以降の期間を置くと、Excelについて知りたかったこと以上のことが分かります。

Accessと同じです。 Accessとピリオドを入力すると、そこにDCountが見つかります。

3

VBAは.NETとは異なる獣ですので、IntelliSenseをすばやく起動する方法がわかりません。私はあなたが2003年に持っているのと同じ問題があることを知ります。

しかし、私はオブジェクトブラウザをチェックアウトすることをお勧めします。 2003年には、ビュー>オブジェクトブラウザ、またはVBエディタのF2です。私はそれが利用可能なクラスライブラリを探索するための素晴らしい方法だと思う。現在参照しているものがすべて表示され、さらにライブラリを参照すると、オブジェクトブラウザにも表示されます。

27

Ctrl + スペースをエディタでいつでも押すことができます。

+0

これも機能します。 –

+0

あなたは私の人生を永遠に変えました。私は同時に怒り狂って落ち込んでいる。私はこれを知らずに何年もの人生を浪費してきました。 – MatthewHagemann

9

残念ながら、Excelでは一部のオブジェクトは「オブジェクトとして」宣言され、オブジェクトにはメソッドがありません。そのため、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] 
+2

'ActiveSheet'は' Chart'でもかまいません。その場合、 'mySheet'がWorksheetとして宣言されていれば型の不一致が起こります。だから、ActiveSheetは "オブジェクト"タイプです:それはいつもワークシートになるとは限りません... –

+0

私はこれが 'ThisWorkbook'にも当てはまると仮定しています。本当? – Taelsin

関連する問題