【エクセルVBA】シートにボタンを作成して作業を効率化する
この記事ではエクセルシートにボタンを作成し、それを操作する方法を書いています。
この記事の内容
こんにちは、Fujiya(@fujiya_xyz)です。
設置したボタン1つで作業が出来ると『時間短縮』や『正確性の向上』に繋がります。
実際には様々な作業(動作)があるので、今回の内容は一例にすぎません。読者さんの”やりたい作業”によってカスタムしてみてください。
【エクセル】ボタンを押すと実行するVBAプログラムを作成する
今回はボタンを押すと下のような『やればできる!』というメッセージを表示するプログラムを例に作業をしていきたいと思います。
シートにボタンを作成する
まずは「開発タブ」を開きますが、開発タブはデフォルトだと出てきません。
表示されていない場合は、『【はじめてのExcelVBA】VBE(VisualBasicEditor)の起動方法』で書いているので参考にしていただければと思います。
開発タブが表示出来たら、「挿入」⇒「ActiveXコントロール」にある「コマンドボタン」をクリックし、ボタンを作っていきます。
「ActiveXコントロール」と「フォームコントロール」があるのですが、大きな違いはカスタマイズ性能です。「ActiveXコントロール」は色やフォントサイズなどの細かく設定できるのでコチラを使っています。実際にはどちらでもOKです。
ボタンを選択して、シート上でドラックすると好きなサイズのボタンが作れます。以下。
これでボタンが作成できました・・・が、今はボタンを押しても何も起こりません。
ボタンを編集する(プロパティ)
ボタンを選択した状態で右クリック⇒「プロパティ」を選択します。
ボタンの”プロパティウィンドウ”が表示されます(上画像)。
このプロパティを操作して、ボタンの色やフォントなどを変更していきます。
ここでは「ボタンの色」とフォントを変更してみたいと思います。
ボタンの色を設定する
プロパティウィンドウの「BackColor」の項目、右にある「▼」をクリックします。
パレットが表示されるので、色を選択します。すると、選択されたカラーのボタンに変更されます。
ボタンのフォントを変更
プロパティウィンドウの「font」の項目、右にある「…」をクリックします。
フォントのスタイルやサイズを自由に設定できます。
ここではフォント名を「メイリオ」、スタイルを「ボールド」、サイズを「14」にしてみます。
こんな感じで編集できました。上画像。
ボタンの表示を編集する
現在ボタンは「CommandButton1」という表示になってみますが、これを変更していきます。
プロパティウィンドウの「Caption」のテキストを任意のモノに変更します。ここでは『ボタン』とします。
こんな感じになりました。
コードを記述する
いよいよプログラムのコード記述していきます。
ボタンを右クリック⇒「コードの表示」をクリックします。するVBA編集画面に映ります。
画面右の自動的に作成されたコードを編集していきます。以下(【スペース】はありません)。
Private Sub CommandButton1_Click()
【スペース】
End Sub
これは『ボタンをクリックしたら~』というプログラムコードです。【スペース】部分に動作を書いていきます。
「やればできる!」というメッセージを表示したいので下のようなコードを記述します。
MsgBox "やればできる!"
今回の動作はこれだけです(笑)
まとめるとこんな感じなります。以下。
Private Sub CommandButton1_Click()
MsgBox "やればできる!"
End Sub
さっそくこれを実行してみます。
メッセージボックスが表示されるはずです。作業は完了。
実際には印刷や保存をしたりと様々な動作をプログラムします。下のリンクでは初心者でも簡単なコードを紹介しているので気になる方はチェックしてみてください。
初心者にオススメで必須のVBAプログラムコード
ボタンを削除する(選択できない?)
削除をするには、ボタンを選択して「deleteボタン」がスムーズです。
注意が必要なのは”デザインモードを起動”していないとボタンを選択することができないというところ。
『あれ?選択できない??』と思ったらデザインモードになっているのかどうかを確認してみてください。逆に『ボタンが押せない』となったらデザインモードを解除する必要があります。
ボタンを印刷しないようにする
今回のプログラムでは必要ありませんが、場合によってはボタンを設置したシートを印刷することも考えられますよね。
例えば上画像のような表を印刷したいする場合、そのままの設定だと印刷の「フォームを表示するボタン」も一緒に印刷されてしまいます。
その場合には、ボタンを右クリック⇒「コントロールの書式設定」をクリックします。
プロパティタブの『オブジェクトを印刷する』のチャックを外します。上画像。
これで印刷してもボタンは印刷されません。
【エクセル】ボタンを押すと実行するVBAプログラムを作成する|まとめ
今回はエクセルシートにボタンを作成して、コードを組む作業を説明しました。
流れとしては以下の2つだけ。
- ボタンを作成する
- 動作をプログラムする
ボタンは自分の好きなようにデザインできます。
初心者が困りやすい事例としては「ボタンが削除できない」「ボタンの選択ができない」「ボタンが押せない」ということがあり、それには”デザインモード”のオン・オフで解決できます。
また、データを印刷した時にボタンを印刷しない方法も説明しました。
今回の紹介した内容は、エクセルVBAの中では基礎的なことになります。ですが、今後もずーっと多用することとなるので是非習得してみて欲しいと思います。実際には慣れが大きいです。
今回の記事は以上になります。
最後まで読んでいただきましてありがとうございました。