ユーザーフォーム上にコマンドボタンを設置 マクロ講座

ユーザーフォーム上にボタン

ユーザーフォーム上にボタンを作る ExcelVBA
ボタンの文字列を変更する、ボタンの色を変更する、コード画面を表示する

ユーザーフォーム上にボタン

Excel2016,2013 マクロ 29回

コントロールからボタンを配置する

フォームにボタンを配置するには、コントロールツールボックスに並んでいるコントロールのアイコン群の中からボタンをクリックし、配置したいフォームでドラッグします。
サンプルファイルは、こちらから マクロ29回サンプルデータ

ユーザーフォームにボタンを作成

コントロールツールボックスからコマンドボタンアイコンをクリックします。
ユーザーフォーム上にボタン1
フォーム上で、マウスをドラッグして、大体の位置を決めたらマウスボタンを離します。
ユーザーフォーム上にボタン2
その位置にドラッグしたサイズでボタンが作成されます。

ユーザーフォームボタンのフォントとサイズを変更する

フォームに配置したボタンは選択状態となってます。選択されているときに、その周りでドラッグするとボタンサイズを変更できます。
プロパティウィンドウで、Fontの入力欄からフォントの種類とサイズを変更できます。
ユーザーフォーム上にボタン3

ユーザーフォームボタンの文字列を変更する

ボタン上に表示される名称は、プロパティウィンドウで、Captionの入力欄から変更できます。
サンプルでは、デフォルトのCommandButton1から「Formを隠す」に変更しました。

ユーザーフォーム上にボタン4


ユーザーフォームボタンの色を変更する

ボタンの背景色を変更するには、プロパティウィンドウで、BackColorの入力欄にある▼をクリックして、表示されるパレットとシステムの色から変更できます。
ユーザーフォーム上にボタン5

コマンドボタンにコードを作成

コマンドボタン上でダブルクリックするか、右クリックのコードの表示をクリックします。
ユーザーフォーム上にボタン5
すると、自動的にデフォルトのClickイベントプロシージャが入力された状態でコードが表示されます。
ユーザーフォーム上にボタン6
ここにFormを隠すHideメソッドを記入します。
Private Sub CommandButton1_Click()
UserForm1.Hide
End Sub
ユーザーフォーム上にボタン7

コード画面からフォーム画面に戻る

コードはこれだけです。次にメニューの表示タブからオブジェクトを選択してFormに戻ります。
ユーザーフォーム上にボタン8

ユーザーフォームの実行

緑色の▼ボタンをクリックしてユーザーフォームの実行を行って動作を見てみましょう。
ユーザーフォーム上にボタン9
ユーザーフォームが表示されました。ボタンを押すとFormが隠れます。
ユーザーフォーム上にボタン10
補足:このブックの標準モジュールには、フォームを表示するマクロとフォームを閉じるマクロも入力されています。
フォームを表示するには、Showメソッドを使い、フォームを閉じるには、VBAのUnloadステートメントを使っています。
ユーザーフォーム上にボタン11