【エクセルVBA】シート上のボタンを押してユーザーフォームを表示する
シート上にボタンを配置して、そのボタンをクリックしてユーザーフォームを表示させる。
シート上にボタンを配置する。
上部のバーから『開発』タブをクリックし、表示された『挿入』をクリックする。
『フォームコントロール』が表示されるので、『ボタン(フォームコントロール)』をクリックする。
カーソルが細い十字になるので任意の場所で左クリックし続け、カーソルを移動させる。
細い四角の枠が表示されるので、任意の大きさになる位置で、左クリックを離す。
『マクロの登録』ウィンドウが表示される。
マクロ名が『ボタン1_Click』になっており、ここで名前を付けられる。
今回はこのままで。
『OK』をクリックする。
シート上にボタンが表示される。
この状態のボタンをクリックしても、以下のような表示がでてマクロが使用できないため『マクロ有効ブック』で保存する。
上部のバーから『ファイル』をクリックする。
名前を付けて保存をクリックする。
保存するフォルダを選択するウィンドウがでたら、『ファイルの種類』の『Excelブック(*.xlsx)』をクリックする。
保存形式の一覧が表示されるので、この中から『Excelマクロ有効ブック(*.xlsm)』を選択し、任意のファイル名を付けて保存する。
これでマクロを使用することができる。
シートの画面に戻るのでボタンにマクロを登録する。
ボタンをクリックし、『マクロの登録』をクリックする。
マクロの登録ウィンドウが表示される。
『新規登録』をクリックする。
Visual Basic for Applicationの画面が開かれる。
『Sub ボタン1_Click()』と『End Sub』の間の行にユーザーフォームを表示するコードを記述する。
『(ユーザーフォーム名).Show』でユーザーフォームを表示できる。
保存する。
ユーザーフォームを表示させる準備が整ったので、ボタンを配置したシートに戻り、ボタンを押してみる。
『Alt』キーと『F11』キーを同時押しする。
シートに戻ったら、ボタンをクリックする。
すると
シート上にユーザーフォームが表示される。
ユーザーフォームを閉じるときはユーザーフォームの右上の×をクリックする。