こまとのblog

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

【エクセルVBA】ユーザーフォームに『閉じる』ボタンを追加する

ユーザーフォームに『閉じる』ボタンを追加し、ユーザーフォームを閉じるところまで。

 

ユーザーフォームの作り方は以下の記事を参考に。

komatokss.hatenablog.com

 

ユーザーフォームに『閉じる』ボタンを追加する。

 

ツールボックスから『コマンドボタン』をクリックする。

f:id:komatokss:20211004122838p:plain

 

ユーザーフォーム上でクリックした後、ドラッグしボタンサイズを決め配置する。

f:id:komatokss:20211004123310p:plain

 

コマンドボタンの表示『CommandButton』を『閉じる』にする。

画面左下の『プロパティ -CommandButton1』の下部にある『Caption』の右欄が『CommandButton』になっているのでここに『閉じる』を入力する。

f:id:komatokss:20211004214348p:plain

 

ボタンにマクロを追加する。

作成した『閉じる』ボタンをクリックする。

『閉じるボタンを押したとき』に実行されるプログラムを記述する画面に移動する。

f:id:komatokss:20211004214844p:plain

 

『Private Sub CommandButton1_Click()』と『End Sub』の間にコードを記述していく。

f:id:komatokss:20211004215355p:plain

※『Unload』の前の空白は『TAB』キーを押す。

 

保存し、このページを閉じる。

 

あとは、実行テストしてみる。

ユーザーフォームを開くボタンを作成したエクセルシートを開く。

ボタンを押し、ユーザーフォームを開く。

ユーザーフォームにある『閉じる』ボタンを押す。

ユーザーフォームが閉じる。

完了

 

【エクセル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

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

【エクセルVBA】ユーザーフォームの出し方

エクセルのシート画面からユーザーフォームを作成するところまで。

 

エクセルを開き空白のブックを作成した画面↓

f:id:komatokss:20211001135241p:plain

 

ここからVisual Basic for Applicationsを開く。

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

もしくは

画面上部の『開発』タブをクリックし、表示された『Visual Basic』をクリックする。

f:id:komatokss:20211001140304p:plain

 

Visual Basic for applicationsが開かれる。

f:id:komatokss:20211001140546p:plain

この画面からユーザーフォームを挿入していく。

 

上部のバーから『挿入』をクリックし、『ユーザーフォーム』をクリックする。

f:id:komatokss:20211001141244p:plain

 

ユーザーフォームが表示される。↓

f:id:komatokss:20211001141500p:plain

 

緑色の▷ボタンを押すと、エクセルシートの画面に戻りユーザーフォームが表示される。

f:id:komatokss:20211001141758p:plain

 

ユーザーフォームが表示される。↓

f:id:komatokss:20211001141938p:plain

ユーザーフォームの右上の×をクリックすると、Visual Basicの画面に戻る。