Excel VBAでボタン作成方法をお探しですね。
広告
Excelのシートにマクロ実行ボタンを作る方法【初心者向け】
Excelで作ったVBAのマクロは、普通「開発」タブから「マクロ」を選んで実行しますよね。
でも、毎回メニューを開くのって結構面倒じゃないですか?そこで便利なのが、シート上に「ボタン」を置いて、クリックするだけでマクロが動くようにする方法です。
この記事では、Excelに慣れていない人でも迷わないように、シート上にマクロ実行ボタンを作って、自分で作ったVBAコードを登録する手順を、準備から編集、うまく動かないときのチェックポイントまで、順番に説明していきます。
1. マクロ実行ボタンって何?作る前に知っておきたいこと
Excelの「マクロ実行ボタン」というのは、シートの好きな場所に置いたボタンをポチッと押すだけで、決まったVBAのコードが動く仕組みのことです。
VBAは、Excelでの作業を自動化するためのプログラミング機能で、データの集計や転記、印刷、表の整形、ファイルの出力など、何度も繰り返す作業をラクにしてくれます。
でも、せっかくVBAを作っても、実行するたびに「開発」タブを開いてマクロの一覧から選ぶ…というのは、日常業務ではちょっと手間ですよね。
シートにボタンを置いておけば、パソコンに詳しくない人でも「このボタンを押せば処理が始まるんだな」って、すぐ分かります。
どんなボタンを使えばいい?
マクロ実行ボタンにはいくつか種類がありますが、初心者におすすめなのは**「フォームコントロール」のボタン**です。
フォームコントロールのボタンは、作るときにマクロを割り当てやすくて、右クリックで登録内容や表示される文字も簡単に変えられます。
図形や画像にもマクロを登録できるんですが、まず基本を覚えるなら、開発タブから挿入できる普通のボタンが分かりやすいです。
ちなみに「ActiveXコントロール」というボタンもあるんですが、これは細かい設定ができる反面、環境によって動きに差があったり、特にMac版のExcelでは使えなかったりします。
なので、他の人と共有するファイルを作るなら、フォームコントロールを選んでおくと安心です。
2. 準備:開発タブを表示して、登録するVBAコードを用意しよう
マクロ実行ボタンを作るには、まずExcelの画面上部にある「開発」タブを表示させる必要があります。
最初の設定では開発タブが隠れていることが多いので、まずはこれを出しましょう。
開発タブの表示方法(Windows)
1. 「ファイル」タブをクリック
2. 「オプション」を開く
3. 「リボンのユーザー設定」を選ぶ
4. 右側の一覧で「開発」にチェックを入れる
5. 「OK」を押す
これで画面上部に「開発」タブが表示されて、マクロの記録やVisual Basic Editorの起動、ボタンの挿入などができるようになります。
Mac版のExcelの場合は、環境設定やリボン設定から「開発」タブを有効にします。
バージョンによって画面名が少し違うことがありますが、「リボン」「ツールバー」「開発」といった項目を探してみてください。
ボタンに登録するVBAコードを用意する
次に、ボタンを押したときに動かしたいVBAコードを用意します。
もうマクロを作ってある人は、後でそのマクロ名を選ぶだけでOKです。
これから作る人は、「開発」タブの「Visual Basic」をクリックしてVBE(Visual Basic Editor)を開いて、標準モジュールにコードを書きましょう。
標準モジュールっていうのは、どのシートからでも呼び出しやすいVBAコードの置き場所です。
ボタンに登録するマクロは、基本的に「引数なしのSubプロシージャ」にしておくと選びやすくなります。
たとえば、動作確認用ならこんな簡単なコードで十分です。
“`vb
Sub SampleMessage()
MsgBox “処理を実行しました”
End Sub
“`
最初はこういうシンプルなコードで試すと、ボタンとマクロの登録がちゃんとできているか確認しやすいです。
いきなり複雑な処理を登録すると、エラーが出たときに「ボタンの設定がおかしいのか、コード自体に問題があるのか」が分かりにくくなっちゃいます。
まずは小さな処理で動作確認して、うまくいったら本来の集計や転記の処理に置き換える、という流れが安全です。
保存形式に注意!
VBAを含むブックは、普通の「.xlsx」形式ではマクロを保存できません。
必ず**「Excelマクロ有効ブック(.xlsm)」**として保存してください。
これを忘れると、せっかく作ったマクロが消えてしまいます。
3. ボタンを配置してVBAコードを登録する手順
準備ができたら、実際にシートにボタンを作っていきましょう。
ステップ1:ボタンを配置する
1. 「開発」タブをクリック
2. 「挿入」をクリック
3. 表示される一覧から**「フォームコントロール」**の中にある「ボタン」を選ぶ
4. マウスポインタが十字の形に変わるので、シート上でボタンを置きたい場所をドラッグして範囲を決める
ドラッグして大きさを決めると、最初から見やすいサイズで作れます。
ボタンは後から移動やサイズ変更もできるので、最初の位置が多少ずれても大丈夫です。
ステップ2:マクロを登録する
ボタンを配置すると、自動的に「マクロの登録」というウィンドウが開きます。
ここで、ボタンをクリックしたときに実行したいマクロの名前を選んで、「OK」を押します。
たとえば、さっき作った「SampleMessage」を選べば、ボタンをクリックしたときにメッセージボックスが表示されるようになります。
すでにいくつもマクロがある場合は、名前だけだと何のマクロか分かりにくくなるので、「売上集計」「請求書作成」「印刷実行」みたいに、処理内容が分かる名前をつけておくと管理しやすいですよ。
ステップ3:動作確認
ボタンの登録が終わったら、実際にクリックして、ちゃんと意図した処理が動くか確認しましょう。
新しいマクロを作りながらボタンを作る方法
すでにあるマクロじゃなくて、ボタンを作るときに新しくマクロを作りたい場合は、「マクロの登録」画面で「新規作成」を選ぶこともできます。
この操作をすると、VBEが開いて、ボタン用のSubプロシージャが自動で作られます。
そこに直接処理を書いてもいいんですが、実際の仕事では標準モジュールに作ったマクロを呼び出す形にすると、コードが整理しやすくなります。
たとえば、ボタン用のコードの中に `Call SampleMessage` って書けば、クリック時にSampleMessageが実行されます。
複数の処理を順番に動かしたいときも、ボタン用のプロシージャから既存のマクロを順番に呼び出せば、コードが見やすくなります。
4. ボタンの編集・変更・動かないときの対処法
ボタンの表示名を変える
ボタンを作った直後は、「ボタン1」みたいな自動的な名前が表示されます。
これだと何をするボタンか分からないので、用途に合わせて変更しましょう。
1. ボタンを右クリック
2. 「テキストの編集」を選ぶ
3. 「集計を実行」「一覧を更新」「印刷する」など、分かりやすい名前に変える
クリックしたら何が起きるか分かる表現にすると、他の人が使うファイルでも迷いにくくなります。
ボタンの見た目を調整する
右クリックして「コントロールの書式設定」を開けば、サイズや配置、印刷するかどうかなどの設定を調整できます。
ボタンをシートの目立つ場所に置いて、周りに説明文を添えておくと、誤操作の防止にもなりますよ。
登録するマクロを変更する
ボタンに登録したマクロを別のものに変えたいときは、ボタンを右クリックして「マクロの登録」を選び、別のマクロを選択して「OK」を押せばOKです。
これで、同じボタンから実行される処理を入れ替えられます。
図形や画像をボタンにする
図形や画像をボタンのように使いたい場合も、対象の図形や画像を右クリックして「マクロの登録」を選べば、同じようにVBAコードを割り当てられます。
見た目を重視したい資料や、アイコン付きの操作画面を作りたいときには便利です。
ただ、業務用のファイルではデザイン性よりも「分かりやすさ」が大事なので、誰が見ても何をするボタンか判断できる表示にしておくことが重要です。
ボタンを押しても動かないときのチェックポイント
ボタンをクリックしてもマクロが実行されない場合、いくつか原因が考えられます。
1. マクロのセキュリティ設定を確認
インターネットからダウンロードしたファイルやメールに添付されていたブックでは、Excel側でマクロが無効になっていることがあります。
信頼できるファイルだと確認できたら、画面上部に出る警告バーから「コンテンツの有効化」を選択するか、「ファイル」タブの「オプション」→「トラストセンター」でマクロの設定を確認してみてください。
ただし、すべてのマクロを常に有効にする設定は、悪意のあるマクロを実行してしまうリスクもあるので注意が必要です。
2. VBAコードにエラーがないか確認
VBAコードにエラーがあると、ボタンを押しても期待通りに動きません。
よくあるミスはこんな感じです。
– マクロ名を変更したのに、ボタン側の登録が古いまま
– コードが標準モジュールじゃなくてシートモジュールに書かれていて、一覧に出てこない
– ブックを「.xlsx」で保存してマクロが消えている
特に初心者の人は、ボタンの設定だけに注目しがちですが、実際には次の4つがそろって初めてちゃんと動きます。
1. 開発タブの表示
2. VBAコードの保存場所(標準モジュール)
3. マクロ有効形式(.xlsm)での保存
4. セキュリティの許可
まとめ
Excelシートにマクロ実行ボタンを作って、自分で作ったVBAコードを登録する方法を覚えると、毎日の定型作業をワンクリックで実行できるようになります。
最初は少し手順が多く感じるかもしれませんが、一度作ってしまえば、あとはボタンを押すだけで処理が進むので、作業効率がグッと上がります。
ぜひこの記事を参考に、使いやすいExcelファイルを作ってみてください!
広告
