結論から書きますと、実現はできますが、使うのは面倒なのでやめたほうがいいと思います。
まず「フォーム」ツールバーからコンボボックスをExcelのシート内に設置します。
シートにテストとして、「a」と「b」と書いたセルを用意します。
設置したコンボボックスを右クリックしてコントロールの書式設定を開き、コントロールタブの入力範囲で先ほど用意した「a」と「b」と書かれたセルを選択します(これでコンボボックスにはaとbが表示されるようになります)。
再びコンボボックスを右クリックしてマクロの登録を選択します。すると「ドロップ1_Change()」というようなマクロが自動的に作成されます。
これはコンボボックスが選択されたときに呼ばれるマクロです。
ここでマクロを以下のようにします。
これでコンボボックスの選択が変わると、Chabgeマクロが呼ばれますから、選択された文字列に応じて実行したいマクロを呼び出します。
Sub ドロップ1_Change()
strText = ActiveSheet.DropDowns(Application.Caller).List(ActiveSheet.DropDowns(Application.Caller).ListIndex)
If strText = ”a” Then
exe_a
ElseIf strText = ”b” Then
exe_b
End If
End Sub
Sub exe_a()
MsgBox ”マクロaを実行”
End Sub
Sub exe_b()
MsgBox ”マクロbを実行”
End Sub
ありがとうございます。求めていたものができそうです。