以前こんなツイートをしたので、今回はマクロについて書いてみようと思います。
題して、
とりあえずやってみたマクロ!
~その作業、ボタンひとつで解決しませんか?~
Contents
マクロで出来ることを簡単に
例えばこんな表を毎月作っていたとします。


そしてこれを更新するときの手順はこの通りです。
- 月末残高をコピー
- 月初残高に数値貼り付け
- 増加・減少欄を削除
この作業が、毎月表を作る事前準備としてやらなきゃいけない作業です。
これをボタンひとつでできるようにカスタマイズボタンを作ろう!というのがマクロです。
実際の雰囲気はこちらをどうぞ。
いかがですか?一度仕組みを作ってしまえばボタンひとつで出来てしまうのです。
では、実際にどうやって作っていくのかを見ていきましょう。
事前準備 開発タブの確認
このマクロ機能を使うには、「開発」タブをオープンにしておかなければなりません。


この「開発タブ」が無い場合は「ファイルタブ」「オプション」からリボンの設定を変更します。


リボンのユーザー設定→□開発にチェック→OKボタンをクリック これで完了です。
事前準備は完了、では実際にやっていきましょう。
マクロの作成
マクロのとっつきにくさに、プログラミングみたいでわかんないってやつがあります。
それがこの画面。


ちなみにこれが上の動画でのマクロの中身です。このコードの一文一文が上記の動画の作業プロセスを表現していて、ボタンを押すとこのマクロを実行したということになります。
これを簡単に作る機能が用意されていて、それが「マクロの記録」というやつです。


これ、マクロで実行したい作業を録画してマクロとして登録する機能です。
なので、ここでの作業はこの3つ。
- 「マクロの記録」を押して記録スタート
- 登録したい作業を実施
- 「マクロの記録」をストップして登録完了
これで、マクロの登録は完了です。ではそれぞれ見ていきましょう。
「マクロの記録」を押して記録スタート


マクロの記録を押すとこの画面が出てきます。ここは後でも変更できるので、このままOKします。
※どのファイルでも使えるようにする場合は保存先を変えるのですが、それはまたの機会に。
登録したい作業の実施
ここではこの手順を実際に行います。
- 月末残高をコピー
- 月初残高に数値貼り付け
- 増加・減少欄を削除
「マクロの記録」をストップして登録完了
作業を完了すれば、「記録終了」ボタンを押してマクロの記録を停止し、マクロとして登録されます。


これで、マクロの登録は完了し、Visual Basicを開くと、上のややこしいコードが出来上がってるというわけです。(今回は特にそこから何か編集するわけではないので、開かなくても大丈夫です)
おまけ
ちなみに、法人番号検索ツールで作った検索ボタンですが、これはパワークエリのデータ更新だけの話なので、同じようにマクロの記録を使います。
マクロの記録をスタートして、すべて更新を押すだけ。これでマクロの記録を完了させて完成です。


あとはこれを多少編集してますが、それはまたの機会と言うことで。
さて、これでマクロができたので、次はマクロを実行するためのボタンを設置します。
マクロ実行ボタンの設置
マクロは関数と違い、実行の指示を出さないと実行されません。
その実行には開発タブから実行するマクロを選択して実行する方法、ショートカットキーを設定して実行する方法、ボタンを配置して実行する方法等々あるのですが、今回はボタンを配置して押せば実行というやつを作ってみましょう。


まず、開発タブの「挿入」からフォームコントロールの「ボタン」を選択します。
そしてボタンを配置するとこんな画面が出てくるので、実行したいマクロを選択してOKします。


今回の場合だと、「Macro1」ですね。
するとこんな感じでボタンが設置されるので、あとは好みの名称に変えて完成です


ちなみに、何もせずクリックするとマクロを実行するので、ボタンの名称や場所・大きさを変えたいときはCTRLキーを押しながらクリックすると、ボタンを選択した状態になるので、それで編集できます。
ここまででマクロの登録とボタンの設置が完了しました。
これで次回から、ボタンを押せば表の更新が自動でできるようになったのです。
ファイルの保存
最後に、マクロを使ったファイルの保存方法について説明しておきます。
通常、ファイルの種類は「Excelブック(*.xlsx)」で保存するのですが、このままではマクロは保存されません。
ですので、マクロも一緒に保存するときは、ファイル種類を「Excelマクロ有効ブック(*.xlsm)」で保存します。


これで、マクロも一緒に保存できます。
まとめ
いかがだったでしょうか。
ここまではマクロの編集をしなくても使える、というのを書いてみました。
ここから発展して、例えば「完了しました。」とメッセージボックスを表示させたい、あるいはある条件では実行できないようにしたい、削除の範囲を自動で変わるようにしたいなど、追加したいことが出てくるかもしれません。
その場合は、今回マクロの記録で作ったコードを編集・追加していくことになりますので、それについてはまた別記事で書いていきたいと思います。
いずれにしても、今回のポイントはこれです。
反復作業は「マクロの記録」で記録しよう!
これが一番大事なポイントだと思います。
これで少しでも日々の業務や作業が簡単になれば嬉しい限りです。
最後までお読みいただき、ありがとうございました!