web-dev-qa-db-ja.com

ExcelでVBA関数ソースを見つける場所

挿入に表示されない特定のvba関数を使用するワークブックがあります。 [関数の挿入...]ダイアログボックスの使用可能な関数のリスト。

ソースを見つけるにはどうすればよいですか?

12
rutherford

あなたの質問を理解できれば幸いです...他の回答を読むと、それは記録されたマクロではないことがわかります。だれかがそれをVBAで書いたと仮定しても安全です。以下を試してください:

  1. 押す Alt+F11 VBAエディターを開くには
  2. [表示]-> [プロジェクトエクスプローラ]をクリックします(既に表示されている場合があります)(または: CTRL+R
  3. 「VBAProject(your workbook name.xls)」と表示されるはずです。それをクリックします。
  4. プロジェクトエクスプローラーの[Microsoft Excelオブジェクト]の下にあるシートの1つをクリックします。
  5. [表示]-> [コード]をクリックします
  6. [編集]-> [検索]をクリックします
  7. ボックスに関数の名前を入力します
  8. 「現在のプロジェクト」が選択されていることを確認します。
  9. [次を検索]をクリックします

関数が記述されている場所に移動するはずです。

19
Sux2Lose

押す ALTF11 VBAプロジェクトウィンドウを表示します。そこにカスタム関数のコードが見つかるはずです。

3
subman

マイクロソフトはVBAのドキュメントを作成しました。関数ではなくオブジェクトごとに並べ替えられますが、関数の前にオブジェクトの名前を入力する必要がない場合は、現在のワークブックなど、現在操作しているオブジェクトの関数である可能性があります。このドキュメントはここで読むことができます。 http://msdn.Microsoft.com/en-us/library/bb149081.aspx Workbook、Sheetなどのオブジェクトで関数を探してみてください。存在しない場合は、サイトの検索オプション(警告:以前はこの検索は悪かったが、現在はBingの検索のように思われるため、今のほうが良いかもしれない)。関数のソースを表示することはできませんが、そこには包括的なAPIがあります。

そこに関数が見つからず、標準のExcel関数ではないと思われる場合は、Excelを実行するためにExcelがどこから取得したのかという疑問があります。問題の関数を呼び出すマクロをデバッグし、「step into button」を使用してみてください。ソースが表示されれば、問題は解決しています。そこにない場合は、Excelと通信する外部アプリケーションが原因である可能性があります。ボタン「Office」に移動し、Excelオプションを選択して、アドインに移動します。インストールされているアドインを見て、それらのドキュメントを探すことができます。

他のすべてが失敗したり、扱いにくい場合は、「[関数名] + Excel + VBA + Documentation]」のようにいつでもグーグルできます。多分あなたはいくつかのオンラインドキュメントを見つけるでしょう。

1
rumtscho

参照している関数は、おそらくExcelに記録された「マクロ」です。

Office 2007を使用している場合は、[表示]タブをクリックし、[マクロ]ボタンの下にあるドロップダウン矢印をクリックします。リストから[マクロの表示]を選択して、そのスプレッドシートに記録されたマクロを表示します。

目的の関数の名前がリストに表示されている場合は、それを選択し、[編集]ボタンをクリックして表示します。

0
Michael Todd