【エクセルVBA】シートにボタンを作成して作業を効率化する

ExcelVBA

この記事ではエクセルシートにボタンを作成し、それを操作する方法を書いています。

この記事の内容

こんにちは、Fujiya(@fujiya_xyz)です。

設置したボタン1つで作業が出来ると『時間短縮』や『正確性の向上』に繋がります。

実際には様々な作業(動作)があるので、今回の内容は一例にすぎません。読者さんの”やりたい作業”によってカスタムしてみてください。

【エクセル】ボタンを押すと実行するVBAプログラムを作成する

今回はボタンを押すと下のような『やればできる!』というメッセージを表示するプログラムを例に作業をしていきたいと思います。

ボタンを押すとメッセージボックス

シートにボタンを作成する

まずは「開発タブ」を開きますが、開発タブはデフォルトだと出てきません。

開発タブ

表示されていない場合は、『【はじめてのExcelVBA】VBE(VisualBasicEditor)の起動方法』で書いているので参考にしていただければと思います。

開発タブが表示出来たら、「挿入」⇒「ActiveXコントロール」にある「コマンドボタン」をクリックし、ボタンを作っていきます。

ボタン設置

「ActiveXコントロール」と「フォームコントロール」があるのですが、大きな違いはカスタマイズ性能です。「ActiveXコントロール」は色やフォントサイズなどの細かく設定できるのでコチラを使っています。実際にはどちらでもOKです。

ボタンを選択して、シート上でドラックすると好きなサイズのボタンが作れます。以下。

ボタンを作成する

これでボタンが作成できました・・・が、今はボタンを押しても何も起こりません。

ボタンを編集する(プロパティ)

ボタンを選択した状態で右クリック⇒「プロパティ」を選択します。

ボタン設定

ボタンの”プロパティウィンドウ”が表示されます(上画像)。

このプロパティを操作して、ボタンの色やフォントなどを変更していきます。

ここでは「ボタンの色」とフォントを変更してみたいと思います。

ボタンの色を設定する

ボタンの色を設定する

プロパティウィンドウの「BackColor」の項目、右にある「▼」をクリックします。

パレットが表示されるので、色を選択します。すると、選択されたカラーのボタンに変更されます。

ボタンの色を変更

ボタンのフォントを変更

フォントのプロパティを開く

プロパティウィンドウの「font」の項目、右にある「…」をクリックします。

ボタンのスタイルやサイズの変更

フォントのスタイルやサイズを自由に設定できます。

ここではフォント名を「メイリオ」、スタイルを「ボールド」、サイズを「14」にしてみます。

ボタンのカラー、フォント名とサイズとスタイルを変更

こんな感じで編集できました。上画像。

ボタンの表示を編集する

現在ボタンは「CommandButton1」という表示になってみますが、これを変更していきます。

ボタンの表示を編集する

プロパティウィンドウの「Caption」のテキストを任意のモノに変更します。ここでは『ボタン』とします。

キャプションの変更

こんな感じになりました。

コードを記述する

いよいよプログラムのコード記述していきます。

ボタンを右クリック⇒「コードの表示」をクリックします。するVBA編集画面に映ります。

VBAコード編集画面

画面右の自動的に作成されたコードを編集していきます。以下(【スペース】はありません)。

Private Sub CommandButton1_Click()
【スペース】
End Sub

これは『ボタンをクリックしたら~』というプログラムコードです。【スペース】部分に動作を書いていきます。

「やればできる!」というメッセージを表示したいので下のようなコードを記述します。

MsgBox "やればできる!"

今回の動作はこれだけです(笑)

まとめるとこんな感じなります。以下。

Private Sub CommandButton1_Click()
MsgBox "やればできる!"
End Sub

さっそくこれを実行してみます。

ボタンを押すとメッセージボックス

メッセージボックスが表示されるはずです。作業は完了。

実際には印刷や保存をしたりと様々な動作をプログラムします。下のリンクでは初心者でも簡単なコードを紹介しているので気になる方はチェックしてみてください。

初心者にオススメで必須のVBAプログラムコード

ボタンを削除する(選択できない?)

削除をするには、ボタンを選択して「deleteボタン」がスムーズです。

注意が必要なのは”デザインモードを起動”していないとボタンを選択することができないというところ。

デザインモードを選択

『あれ?選択できない??』と思ったらデザインモードになっているのかどうかを確認してみてください。逆に『ボタンが押せない』となったらデザインモードを解除する必要があります。

ボタンを印刷しないようにする

今回のプログラムでは必要ありませんが、場合によってはボタンを設置したシートを印刷することも考えられますよね。

ボタンを印刷しないようにする

例えば上画像のような表を印刷したいする場合、そのままの設定だと印刷の「フォームを表示するボタン」も一緒に印刷されてしまいます。

その場合には、ボタンを右クリック⇒「コントロールの書式設定」をクリックします。

ボタンを印刷しない設定

プロパティタブの『オブジェクトを印刷する』のチャックを外します。上画像。

これで印刷してもボタンは印刷されません。

【エクセル】ボタンを押すと実行するVBAプログラムを作成する|まとめ

今回はエクセルシートにボタンを作成して、コードを組む作業を説明しました。

流れとしては以下の2つだけ。

  1. ボタンを作成する
  2. 動作をプログラムする

ボタンは自分の好きなようにデザインできます。

初心者が困りやすい事例としては「ボタンが削除できない」「ボタンの選択ができない」「ボタンが押せない」ということがあり、それには”デザインモード”のオン・オフで解決できます。

また、データを印刷した時にボタンを印刷しない方法も説明しました。

今回の紹介した内容は、エクセルVBAの中では基礎的なことになります。ですが、今後もずーっと多用することとなるので是非習得してみて欲しいと思います。実際には慣れが大きいです。

今回の記事は以上になります。
最後まで読んでいただきましてありがとうございました。