マクロのリストの生成(Microsoft Excel)
Excelマクロの作成を開始すると、それらのかなりの数をブックに簡単に取り込むことができます。ある時点で、ワークブックにマクロのリストを生成したい場合があります。 Excelには、マクロのリストを作成するための本質的な方法はありません。ただし、マクロを一覧表示するマクロを作成することはできます。 (音の並べ替えは冗長ですよね?)
例として、次のマクロについて考えてみます。このマクロは、ワークブック内のすべてのプロジェクトをステップスルーして、すべてのマクロ名を取得し、それらをワークシートに配置します。
Sub ListMacros() Dim VBComp As VBComponent Dim VBCodeMod As CodeModule Dim oListsheet As Object Dim StartLine As Long Dim ProcName As String Dim iCount As Integer Application.ScreenUpdating = False On Error Resume Next Set oListsheet = ActiveWorkbook.Worksheets.Add iCount = 1 oListsheet.[a1] = "Macro" For Each VBComp In ThisWorkbook.VBProject.VBComponents Set VBCodeMod = ThisWorkbook.VBProject.VBComponents(VBComp.Name).CodeModule With VBCodeMod StartLine = .CountOfDeclarationLines + 1 Do Until StartLine >= .CountOfLines oListsheet.[a1].Offset(iCount, 0).Value = _ .ProcOfLine(StartLine, vbext_pk_Proc) iCount = iCount + 1 StartLine = StartLine + _ .ProcCountLines(.ProcOfLine(StartLine, _ vbext_pk_Proc), vbext_pk_Proc) Loop End With Set VBCodeMod = Nothing Next VBComp Application.ScreenUpdating = True End Sub
このマクロを使用するには、MicrosoftVBA拡張性参照が設定されていることを確認する必要があります。これを行うには、次の手順に従います。
。 VBAエディターで、[ツール]メニューから[参照]を選択します。 [参照]ダイアログボックスが表示されます。 (図1を参照)
。使用可能な参照のリストをスクロールして、[Microsoft Visual Basic forApplicationsの拡張性]チェックボックスがオンになっていることを確認します。
。ダイアログボックスを閉じます。
マクロを実行すると、新しいワークシートがブックに追加され、ブック内のすべてのモジュール内のすべてのマクロの名前が一覧表示されます。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]
。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(2715)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。
link:/ excelribbon-Generating_a_List_of_Macros [マクロのリストの生成]
。