こまとのblog

エクセルVBA勉強中。自分用のメモなど

【エクセルVBA】シート上のボタンを押してユーザーフォームを表示する

シート上にボタンを配置して、そのボタンをクリックしてユーザーフォームを表示させる。

 

シート上にボタンを配置する。

上部のバーから『開発』タブをクリックし、表示された『挿入』をクリックする。

『フォームコントロール』が表示されるので、『ボタン(フォームコントロール)』をクリックする。

f:id:komatokss:20211001143354p:plain

 

カーソルが細い十字になるので任意の場所で左クリックし続け、カーソルを移動させる。

細い四角の枠が表示されるので、任意の大きさになる位置で、左クリックを離す。

f:id:komatokss:20211001143844p:plain

 

『マクロの登録』ウィンドウが表示される。

f:id:komatokss:20211001144022p:plain

 

マクロ名が『ボタン1_Click』になっており、ここで名前を付けられる。

今回はこのままで。

『OK』をクリックする。

 

シート上にボタンが表示される。

f:id:komatokss:20211001144430p:plain

この状態のボタンをクリックしても、以下のような表示がでてマクロが使用できないため『マクロ有効ブック』で保存する。

f:id:komatokss:20211001154346p:plain



 

上部のバーから『ファイル』をクリックする。

f:id:komatokss:20211001144935p:plain

 

名前を付けて保存をクリックする。

f:id:komatokss:20211001145536p:plain

 

保存するフォルダを選択するウィンドウがでたら、『ファイルの種類』の『Excelブック(*.xlsx)』をクリックする。

保存形式の一覧が表示されるので、この中から『Excelマクロ有効ブック(*.xlsm)』を選択し、任意のファイル名を付けて保存する。

f:id:komatokss:20211001150115p:plain

これでマクロを使用することができる。

 

シートの画面に戻るのでボタンにマクロを登録する。

ボタンをクリックし、『マクロの登録』をクリックする。

f:id:komatokss:20211001150545p:plain

 

マクロの登録ウィンドウが表示される。

『新規登録』をクリックする。

f:id:komatokss:20211001151043p:plain

 

Visual Basic for Applicationの画面が開かれる。

f:id:komatokss:20211001151254p:plain

 

『Sub ボタン1_Click()』と『End Sub』の間の行にユーザーフォームを表示するコードを記述する。

『(ユーザーフォーム名).Show』でユーザーフォームを表示できる。

f:id:komatokss:20211001152904p:plain

 

保存する。

 

ユーザーフォームを表示させる準備が整ったので、ボタンを配置したシートに戻り、ボタンを押してみる。

『Alt』キーと『F11』キーを同時押しする。

 

シートに戻ったら、ボタンをクリックする。

f:id:komatokss:20211001153814p:plain

すると

シート上にユーザーフォームが表示される。

f:id:komatokss:20211001153934p:plain

ユーザーフォームを閉じるときはユーザーフォームの右上の×をクリックする。