マクロの記録だけでなく自分でVBAツールを作成する方法を解説!


マクロの記録でツールは作れるけど、1からVBAが書けない・・・
VBAでツールを作るためには、具体的に何をすればいいのだろうか?
できれば、必要な作業や具体的な手順を知りたいな・・・

Excelを簡単に自動化する方法としてマクロの記録がありますが、マクロの記録以上のVBAツールを作れず、一歩踏み出せない人もいるのではないでしょうか。便利なのはわかるけど、ツールを作るときの考え方や必要な知識がわからず行動できていない人もいるかもしれませんね。

こんにちは!フリーランスエンジニア兼テックライターの脇坂です。

この記事では、マクロの記録だけでなく、自分でVBAツールを作成する方法を徹底的に解説します!

ただ作るために必要な知識を羅列するのではなく、VBAでツールを作るときの考え方から解説しています。1から自分でVBAツールを作る力を鍛えたい方は、ぜひ見てみてくださいね。

この記事はこんな人のために書きました。

  • マクロの記録で自動化の経験はあるが、VBAを1から書いたことがない人
  • 日常的にExcelを使う機会はあるが、上手く効率化ができず悩んでいる人

目次

VBAツールを作るための考え方とは?

はじめに、VBAツールを作るための考え方について解説します。

VBA以外のプログラミング言語でもそうですが、ツールを作るときは次のような流れで作ります。


ツールを作るときの流れ

「ツールを作ろう」と思ってすぐにプログラミングするのではなく、具体的な仕様、画面のイメージ、具体的な処理のイメージなど、作るツールのイメージを具体化することが最初のステップです。そこまでできて初めてVBAを書き、ツールができたらテストをします。

最初に具体的なイメージを固めてから作ることで、必要な作業や具体的な作成手順がわかりやすくなるのです。

仕様検討・設計、プログラミング、テストの流れは以下で詳しく解説しているので、もっと深く知りたい方は見てみてくださいね!

また、もしここまでの解説でわからない部分が多いな・・・と感じた方は、先に以下VBAの基礎記事を読むことがおすすめです!

VBAツールの2つのタイプとは?

VBAでツールを作る場合は、大きく分けて2つのパターンがあります。


VBAツールの2つのタイプ

それぞれ詳しく解説しますね。

シートボタン設置型ツール

1つ目は、シートボタン設置型ツールです。

シートボタン設置型ツールとは、シートに設置したボタンをクリックしたときに動くツールのことです。たとえば、次のようなイメージです。


シートボタン設置型ツールのサンプル

請求データ一覧をテーブル化し、データの登録、請求書の出力をボタンクリックのみでできるようにしたツールの例です。このように、シートに設置したボタンをクリックして動かすツールを作ることができます。

普段使っている作業の一部を自動化したいときに、おすすめの方法です。

ちなみに、シートにボタンを設置したツールを作る方法は以下で詳しくまとめているので、気になる方は見てみてくださいね!

画面作成型ツール

2つ目は、画面作成型ツールです。

画面作成型ツールとは、画面を使って動くツールを作る方法です。VBAを使ったことがない方は馴染みがないかもしれませんが、VBAでは次のような画面を作ることができます。


VBAで作れる画面イメージ

登録画面、更新画面、削除画面、ファイル出力画面・・・のように、画面を使ったツールを作ることができます。Webアプリのようなツールを作ることができるため、ツールの自由度がとても広がります。

本格的なツールを作ろうと思ったときは、画面を使ったツールになるケースが多いです。VBAの肝となる機能の一つなので、覚えておくとツール作りが捗るのでおすすめです!

ちなみに、VBAで画面を作るときは、ユーザーフォームの機能を使って画面を作ります。具体的な作り方は以下で詳しく解説しているため、見てみてくださいね!

VBAツールを自分で作るための学習手順とは?

ここまでVBAのツールを作るときの考え方、具体的な作成手順、ツールのタイプについて解説しました。

記事を見て、ツールを作りたいと思った方もいるのではないでしょうか?

そんな方向けに、1からVBAを作るときにおすすめの学習手順をまとめた記事があるので、ご紹介しますね!

まとめ

今回は、マクロの記録だけでなく自分でVBAツールを作成する方法について解説しました。

VBAを自分で作れるようになると、ヒューマンエラーを防いだり、空いた時間を別の作業にあてることができます。普段の作業を見直し、ツール化できるところがないか考えてみるのがおすすめです。

ぜひ、普段の作業が楽になるVBAツールを作ってみてくださいね!

この記事を書いた人

北海道出身の30歳で、フリーランスエンジニア兼テックライターとして活動中。新卒入社したメーカー系のIT企業で、システムエンジニアとして約5年勤務。

Webアプリ、業務アプリ開発において、要件定義 ~ 運用保守まで様々な経験あり。また3歳の娘がいる1児のパパで、日々娘との時間を確保するために仕事を頑張っています!
侍エンジニアでは、【誰でもわかるレベルのわかりやすさ】を意識して、記事を執筆中。

目次