教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA フォーム&コントロール】コマンドボタンをクリックした時に実行されるプロシージャを作成する方法

f:id:m_kbou:20201124144046p:plain

コマンドボタンをクリックした時に実行されるプロシージャの作成方法について紹介します。

 

 

構文

記述方法は以下の通りとなります。

Private Sub[ボタン名]_Click()
  [実行する処理内容]
End Sub

[説明]:

[ボタン名]にはコマンドボタンのオブジェクト名を記述します。また、[実行する処理内容]にはコマンドボタンがクリックされた時に実行する処理の内容を記述します。内容を纏めると、「[ボタン名]のコマンドボタンがクリックされた時に、[実行する処理内容]を実行して下さい。」との意味になります。

[記述例]:

Private Sub 閉じる_Click()
  MsgBox "画面を閉じます。"
  Unload テスト
End Sub

[サンプルフォーム]: 

今回は以下のサンプルフォームを使用して説明します。
・フォーム名の付け方はこちらを参考にして下さい。
・コマンドボタン名の付け方はこちらを参考にして下さい。
・コマンドボタンへの表示文字の付け方はこちらを参考にして下さい。

f:id:m_kbou:20210519161528p:plain

 

プロシージャの作成方法及び実行結果

作成方法及び実行結果について説明します。

(1)フォームに設定されている<閉じる>コマンドボタンをダブルクリックします。

f:id:m_kbou:20210519161048p:plain

(2)「Private Sub 閉じる_Click()」プロシージャが作成されます。(※この内容がコマンドボタンをクリックした時に実行されるプロシージャとなります。ボタン名:閉じるをClick(クリック)した時に実行されるプロシージャを作成した事になります。)

f:id:m_kbou:20210519161110p:plain

(3)実行する処理内容を記述します。今回は実行された際に「画面を閉じます。」がMsgBoxで表示され、その後にフォームが閉じられる内容を記述しました。

Private Sub 閉じる_Click()
  MsgBox "画面を閉じます。"
  Unload テスト
End Sub

f:id:m_kbou:20210519161131p:plain

(4)上部にある実行ボタン(▶)をクリックします。

f:id:m_kbou:20210519161152p:plain

(5)テストフォームが表示されるので、<閉じる>ボタンをクリックします。

f:id:m_kbou:20210519161206p:plain

(6)「画面を閉じます。」が表示されるので、<OK>ボタンをクリックするとMsgBoxとテストフォームが同時に閉じます。

f:id:m_kbou:20210519161218p:plain

プロシージャの作成方法及び実行結果についての説明は以上です。

 

サンプル

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

  

おわりに

今回はコマンドボタンをクリックした時に実行されるプロシージャの作成方法について説明しました。フォームを扱う上ではコマンドボタンの使用は必要不可欠となりますので、プロシージャの記述方法は是非覚えておいて下さい。