VBA(Visual Basic for Applications)で、マクロ・ユーザー定義関数・イベントプロシージャなどをたくさん作り始めると、どのモジュールにどんなプロシージャが含まれているのか管理する必要が出てきます。
そんなとき、簡単にモジュールとプロシージャの一覧を作成するマクロが欲しくなってきます。
そのためのマクロをご紹介しておきます。
Sub コンポーネントとプロシージャの一覧を作成する()
 Dim lp_comp As Long
 Dim lp_line As Long
 Dim iR As Long
 Dim prcName As String
 If MsgBox( _
  "コンポーネントとプロシージャの一覧を作成してよければOKボタンをクリックしてください。", _
  vbOKCancel + vbDefaultButton2) = vbCancel Then Exit Sub
 '先頭にワークシートを挿入
 Worksheets.Add Before:=Worksheets(1)
 With ActiveWorkbook
  'プロジェクト内のコンポーネントの数だけループを回す
  For lp_comp = 1 To .VBProject.VBComponents.Count
   'コンポーネント名を書きだす行番号を設定
   iR = iR + 1
   'コンポーネント名の書き出し
   Cells(iR, 1) = .VBProject.VBComponents(lp_comp).Name
    
   With .VBProject.VBComponents(lp_comp).CodeModule
    prcName = ""
    'モジュールに含まれるコードの行数文だけループを回す
    For lp_line = 1 To .CountOfLines
     If prcName <> .ProcOfLine(lp_line, 0) Then
      'プロシージャ名の取得
      prcName = .ProcOfLine(lp_line, 0)
      'プロシージャ名を書きだす行番号を設定
      iR = iR + 1
      'プロシージャ名の書き出し
      Cells(iR, 2) = prcName
     End If
    Next lp_line
   End With
  Next lp_comp
 End With
 
 MsgBox Worksheets(1).Name & "にコンポーネントとプロシージャの一覧を作成しました。"
上記のマクロを実行するには、まず、セキュリティの設定変更が必要です。
Excel 2010・2007の場合は、[開発]タブ-[コード]グループ-[マクロのセキュリティ]ボタンなどから表示できる、[セキュリティセンター]ダイアログ-[マクロの設定]タブの[開発者向けのマクロ設定]欄-[VBAプロジェクトオブジェクトモデルへのアクセスを信頼する]チェックボックスをOnにしてください。

Excel 2003の場合は、メニュー[ツール]-[マクロ]-[セキュリティ]から表示できる[セキュリティ]ダイアログ-[信頼できる発行元]タブ-[VBAプロジェクトオブジェクトモデルへのアクセスを信頼する]チェックボックスをOnにしてください。

これらのセキュリティの設定変更を行ってから、上記のマクロを実行すると、新しいシートが先頭に挿入されてA列にコンポーネント名、B列にプロシージャ名の一覧が作成されます。
Home » エクセルマクロ・Excel VBAの使い方 » マクロのサンプル » プロシージャ一覧を作成するマクロ
 『インストラクターのネタ帳』では、2003年10月からMicrosoft Officeの使い方などを紹介し続けています。
『インストラクターのネタ帳』では、2003年10月からMicrosoft Officeの使い方などを紹介し続けています。










