Attribute VB_Name = "Module1" '■ マクロ500連発<第2段> ' ' ユーザー定義関数に説明を追加する ' ' Copyright(C) 2000 Sunago ' '  このマクロではEXCEL4マクロシートで名前の定義を使って ' ユーザー定義関数を任意の分類に追加します。名前の定義を ' 使って作成した関数の分類はブックを開いた間のみ有効です。 ' ブックを閉じると追加した分類は利用できなくなります。 ' '  ユーザー定義関数に説明を追加するにはMacroOptionsメソッドを ' 使って表示できますが、引数の説明を追加するはできません。 ' ※引数の説明を追加するには、ユーザー定義関数をDLLで作成し、 ' EXCEL4マクロのREGISTER関数を用いますが、EXCEL VBAだけでは ' DLLを作成できないのでこのマクロは取り上げておりません)。 ' Option Explicit Sub Macro1() Dim r As Long 'マクロシートを追加する If Sheets(Sheets.Count).Type <> xlExcel4MacroSheet Then Sheets.Add Type:=xlExcel4MacroSheet, _ After:=Sheets(Sheets.Count) Else Sheets(Sheets.Count).Activate End If For r = 15 To 21 'ダミーの名前の定義を使って関数の分類を追加する ActiveSheet.Names.Add Name:="zDummy" & r, RefersTo:="A" & r, _ Category:="任意の分類" & StrConv(r, vbWide), _ MacroType:=xlFunction 'ユーザー定義関数の説明を追加する Application.MacroOptions Macro:="Func" & r, _ Description:="マクロ" & r & "の説明を記述", _ Category:=r Next End Sub Function Func15(a) Attribute Func15.VB_Description = "マクロ15の説明を記述" Attribute Func15.VB_ProcData.VB_Invoke_Func = " \n15" End Function Function Func16(b) Attribute Func16.VB_Description = "マクロ16の説明を記述" Attribute Func16.VB_ProcData.VB_Invoke_Func = " \n16" End Function Function Func17(c) Attribute Func17.VB_Description = "マクロ17の説明を記述" Attribute Func17.VB_ProcData.VB_Invoke_Func = " \n17" End Function Function Func18(d) Attribute Func18.VB_Description = "マクロ18の説明を記述" Attribute Func18.VB_ProcData.VB_Invoke_Func = " \n18" End Function Function Func19(e) Attribute Func19.VB_Description = "マクロ19の説明を記述" Attribute Func19.VB_ProcData.VB_Invoke_Func = " \n19" End Function Function Func20(f) Attribute Func20.VB_Description = "マクロ20の説明を記述" Attribute Func20.VB_ProcData.VB_Invoke_Func = " \n20" End Function Function Func21(g) Attribute Func21.VB_Description = "マクロ21の説明を記述" Attribute Func21.VB_ProcData.VB_Invoke_Func = " \n21" End Function