[Excel で VBA] ボタンからのプログラムの起動

今までのページでは、プログラムを Visual Basic Editor 上の 「再生ボタン」をクリックして起動していた。
ここでは応用として、プログラムを「自分で作成したボタン」から起動する方法を学ぶ。

前ページまでに比べるとやや難しい内容を含むので、本ページは「応用」として優先順位を下げる。
前ページまでの内容に自信がない人は、まず前ページの内容をしっかり理解することを優先させよう。

なお、ここで扱う「ボタンの配置とプロパティによる設定」は、Visual C++ などの他のプログラミング環境でも多く用いられるので、
プログラミングに興味のある人は学んで見るとよいだろう。

まず、準備として以下のように MsgBox で文字列を表示するプログラムを作成しておこう。



そして、下図の Visual Basic Editor 上の Excel ボタンで、通常の Excel のシートに戻る。



次に、Excel 上の開発タブにある挿入アイコンをクリックすると 現れるフォームコントロールからボタンを選択しよう。



その状態で、Excel シート上で□を描くようにマウスをドラッグアンドドロップすると、
下図のようにダイアログが現れる。

そのダイアログ「マクロの登録」では、ボタンを押したときに 起動されるマクロを指定するダイアログであるが、
ここでは「新規作成」ボタンをクリックしよう。



すると、Visual Basic のコード記述ウィンドウに自動的に戻り、 「ボタン1_Click」というマクロの記述を促される。

ここでは、「ボタンをクリックすると (自分であらかじめ書いておいた) prog1 が起動される」
という動作を実現するため、下図のように「 Module1.prog1 」と記述しよう。



その後、Excel シートに戻ってから作成したボタンをクリックすると、 「こんにちは」ダイアログが現れることを確認できる。



なお、ボタン上の文字列を編集するには下図のようにボタン上で マウス右クリックして「テキストの編集」を選択。



下図のように「スタート」と文字列を変更してみた。

さらに、やはりボタン上でマウス右クリックして 「コントロールの書式設定」を選択する。



すると、以下のような書式設定ダイアログが現れ、 様々な設定を行うことができる。







←初めての VBA (2)変数の取り扱いと四則演算→

Excel で学ぶ Visual Basic for Applications (VBA)に戻る