人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルのシート内で10個以上のマクロをユーザーに切り替えて使わせたいです。ボタンにすると画面がすっきりしないので例えばよくWebページで使われるようなドロップダウンメニュー(エクセルではコンボボックスというのでしょうか)にマクロを登録する方法を教えてください。

●質問者: mochitsuki72
●カテゴリ:コンピュータ
✍キーワード:Web エクセル コンボ ドロップ ボタン
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● nitscape
●50ポイント

http://www.google.com/

Google

結論から書きますと、実現はできますが、使うのは面倒なのでやめたほうがいいと思います。


まず「フォーム」ツールバーからコンボボックスを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

◎質問者からの返答

ありがとうございます。求めていたものができそうです。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ