Categories: VBA基礎

EXCEL VBA Sheet(シート)上にコンボ ボックスの設置(ComboBox)

EXCEL VBA Sheet(シート)上にコンボ ボックスの設置(ComboBox)

 

●はじめに
ここでは、EXCELのシート上にコンボボックスを設置する説明をいたします。 EXCEL VBAプログラムを作成して、プログラムを実行する際にコンボボックスを利用してプログラム実行する事が出来ます。コンボボックスを利用する事により、指定条件した条件からプログラムの実行をする事も出来ます。シート上に何個でもコンボボックスを作成する事が出来ますので、実行する処理毎にコンボボックスを使い分ける事も出来ます。

 

●開発のタブが無い場合は、https://akira55.com/excel_startup/ を参照して下さい。

●それでは、シート上にコンボボックスを作成する方法を説明します。

順番画像(クリック拡大表示)説明
まず、タブの「開発」クリックして、「挿入」を選択します。
フォームコントロールの中から「コンボボックス」を選択します。
シート上に、コンボボックスを作成する大きさ指定します。
作成されたコンボボックスの上で「右クリック」して「コントロールの書式設定」を選択します。
コントロールの書式設定が表示されるので、「コントロール」タブを選択して「入力範囲」・「リンクするセル」・ドロップダウンリストの行数」を指定します。
※入力範囲は、リスト表示させる範囲
※リンクするセルは、リストを選択すると選択した番号を返します。上から1.2.3と返します。
最後に「OK」ボタンを押して設定します。
続いて「マクロの登録」を行います。コンボボックスの上で右クリックして「マクロの登録」を選択します。
「」マクロの登録」の画面が表示されます。
※注意:プログラムを作成していなければ、登録できません。(作成後に登録可能)
マクロ名を登録します。ここでは、「kingaku」のマクロ名で作成したプログラムを登録します。
コンボボックスが作成されました。実際に「月曜日」を選択してみると、リンクするせる「K2」に1(月曜日)が入力されます。

 

●プログラム説明
続いて、シート上にコンボボックスを使ったサンプルプログラムを作成しましたので、説明いたします。まず、上記の通りにコンボボックスを作成して「リンクするセル」を「M2」にしてします。下図の通りにデータの入力された表を作成します。

 

 

●実行前 ※下表の様な表を作成します。金額は円単位で入力します(クリックして拡大)

 

●プログラム説明
サンプルプログラム(下記のプログラムは、コンボボックスを選択する事により、円単位・千円単位・百万円単位で数値を切り替えて表示させます。)

 

Sub kingaku()

    Select Case Cells(2, "M")    'コンボボックスで「リンクするせるを指定したセルM2」

        Case "1"
            Range("B5:N15").NumberFormatLocal = "#,##0"  '円単位
        Case "2"
            Range("B5:N15").NumberFormatLocal = "#,##0,"  '千円単位
        Case "3"
            Range("B5:N15").NumberFormatLocal = "#,##0,,"  '百万円単位
        
    End Select

End Sub

 

●実行後 ※コンボボックスの円・千円・百万円を順番に選択(クリックして拡大)

 

最後まで、ご覧いただきまして誠に有難うございました。
以上で、コンボボックスを作成とコンボボックスを利用したサンプルプログラムの説明でした。便利な機能ですのでサンプルプログラム等を参照して、作成する方法を覚えて下さい。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。

 

AKIRA