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


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

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

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

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

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

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

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

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

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

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


ツールを作るときの流れ

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

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

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

VBAで開発する方法とは?考え方・開発手順を徹底解説!
更新日 : 2019年4月4日

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

【ExcelVBA入門】VBAの基礎知識・書き方・おすすめの学習方法を解説
更新日 : 2019年10月1日

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

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


VBAツールの2つのタイプ

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

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

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

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


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

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

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

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

【ExcelVBA入門】シート上にボタンを追加する方法について徹底解説!
更新日 : 2019年4月16日

画面作成型ツール

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

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


VBAで作れる画面イメージ

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

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

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

【VBA入門】ユーザーフォームの使い方(テキスト表示、カレンダー)
更新日 : 2019年4月22日

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

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

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

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

【ExcelVBA入門】VBAの基礎知識・書き方・おすすめの学習方法を解説
更新日 : 2019年10月1日

VBAを覚えたら収入アップは可能か?

VBAを取得すれば、エクセルなどで業務の効率化をすることはできます。ですが、VBAを習得すると収入が飛躍的にアップするかというと、その限りではありません。

では、どうすれば収入を飛躍的にアップする事ができるでしょうか?それは、Webプログラミングを学ぶことです。Webプログラミングとは、Web上で使えるアプリを開発できるプログラミングのことです。

例をあげると

  • Amazon・楽天・ZOZOTOWNなどの買い物アプリ
  • Facebook・Twitter・InstagramなどのSNS
  • 食べログ・ホテルの予約アプリ・クックパッド


など、こういったサービスがあります。現在、このようなサービスは世の中に広まっていて、今後はサービスを作れる人に需要が集まっていきます。

今のうちにプログラミングのスキルを身につければ、一生仕事には困らないスキルを身につける事ができます。

プログラミングと言っても数多くの種類があるし、その言語によって作れる物も変わってきます。

プログラミングには興味あるけど、どの言語を学べばいいかわからない・・・

こんな不安がある方は、弊社「侍エンジニア塾」をご利用下さい。

この無料体験レッスンでは、

  • キャリアを考えた学習プラン
  • あなたに合ったカリキュラムの提案
  • あなたが抱える不安に対しての解決案


などを話す事ができます。

業界屈指のコンサルタントがあなたのそんな不安を解決してくれます。なぜプログラミングを学びたいのか、今後どのようなキャリアを目指してプログラミングを学習していくのかを明確にすれば、学習するモチベーションも上がります。

侍エンジニア塾
無料体験レッスンを受ける

まとめ

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

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

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

LINEで送る
Pocket

SEからWebエンジニアへ転職した理由

侍エンジニア塾卒業生の小池さんは、以前は社内SEとして約5年ほど勤務していました。しかし業務内容は社内のヘルプデスク対応など、プログラムを書く仕事は全くなかったそうです。

SEながらプログラムを書けない現状に「将来仕事がなくなるんじゃないか」と不安を感じ、プログラミング学習を決意。

弊社スクールで学習し、無事ベンチャー企業のプログラマーとして転職に成功しました。そんな小池さんの学習法や転職体験談を伺いましたので、是非ご覧ください。

「プログラミングができないSEは仕事がなくなる」不安を感じたSEが未経験から転職成功するまで
更新日 : 2019年10月7日

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

フリーランスエンジニア兼ライターのワキザカ サンシロウです。
ExcelVBAの自動化ツール開発、WEB開発をメインにエンジニア業務をこなしつつ、サムライエンジニアにてライター業務をしております。

プログラミングをこれからやってみたい方に向けて、ためになる記事を全力で書いていきますので宜しくお願い致します!

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説