【VBA】自作関数の引数で候補表示(インテリセンス)をさせる方法
今回は上の画像のように、自作関数の引数で入力候補を表示させる方法を紹介します。
候補が表示されるので、何を入力すれば良いのか迷わずスパッと選べるようになります。
入力候補が限定される関数があれば使用してみてください。
自作関数の引数で候補表示(インテリセンス)をさせる方法
引数を候補表示させるためにはEnum(列挙型)を使います。
Enumで引数の候補を用意しておいて、その中から選択することになります。
Enum EnumDay
Mon = 1
Tue
Wed
Thu
Fri
Sat
Sun
End Enum
Private Sub ShowDay(todayDay As EnumDay)
Select Case todayDay
Case EnumDay.Mon
MsgBox "今日は月曜日です"
Case EnumDay.Tue
MsgBox "今日は火曜日です"
Case EnumDay.Wed
MsgBox "今日は水曜日です"
Case EnumDay.Thu
MsgBox "今日は木曜日です"
Case EnumDay.Fri
MsgBox "今日は金曜日です"
Case EnumDay.Sat
MsgBox "今日は土曜日です"
Case EnumDay.Sun
MsgBox "今日は日曜日です"
End Select
End Sub
Sub Main()
ShowDay Mon
End Sub
サンプルコードではEnumDayというEnum(列挙型)とShowDayという自作関数を用意しています。
この状態でShowDayと自作関数名を書くと引数が候補表示されるので、試してみてください。
Private Sub ShowDay(todayDay As EnumDay)
ポイントはこの部分で、自作関数の引数をEnumDay型としています。
こうすることで引数が列挙型となり、EnumDayで定義しているMon~Sunが候補となります。
なお、この方法を取るときはサンプルコードのようにSelect Caseによって分岐処理をするのがおすすめです。