ExcelマクロVBAの勉強方法!初心者向けに徹底解説!

VBAとは?

VBAとは「Visual Basic for Applications」の頭文字を取ったものです。マイクロソフトには「Visual Basic」というプログラミング言語がありますが、その一部をMS Officeの拡張機能として提供したものが、VBAです(Visual BasicはVBと呼ばれます)。
本格的なアプリケーション開発には、VBが必要になりますが、VBAはその名前のとおり、MS Officeで利用できるプログラムを開発することができます。「プログラム」と聞くと難しく感じるかもしれませんが、例えば、Excelを使って毎回、手で行っていた作業をVBAを使うと自動化できます。
Excelが代表的ですが、Excelに限らず、MS Officeで行う複雑で面倒な作業を効率化するもの。それがVBAです。

マクロって?

VBAに似た使い方をされる言葉に「マクロ」があります。「マクロを組む」とか「マクロを使って...」などといわれ、意味的には「VBA」と同じように使われています。違いを簡単にいうと「VBA」は固有名詞、「マクロ」は普通名詞。つまり、マクロとは「アプリケーションを使った作業を自動化する技術」を表す単語です。そして、マクロを実現するための具体的な技術、マイクロソフトの技術が「VBA」です。
ただし、MS Officeでは「VBA」ではなく「マクロ」と表示されているため、VBAとマクロが同じ意味で使われ、どちらかというと「マクロ」の方が一般的になってきています。

VBAを勉強する際の準備

VBAを使うと複雑で面倒な業務が効率化できます。自動化できれば、人為的なミスも解消できます。VBAを勉強する際に準備しておいた方がよいことを見てみましょう。

準備内容①パソコンの操作に慣れる

大前提として、パソコンを満足に使えることが必要です。キーボードやマウスを使ったパソコンの基本的な操作、ドライブやフォルダ、ファイルについての理解が不可欠。VBAは簡単に使えるようになっているとはいえ、パソコンについてはある程度、使いこなせることが大前提となります。

準備内容②Excelを使いこなせる

ExcelでVBAを使うということは、Excelの機能や関数をVBAを使って動かすことです。そのためには、前提としてExcelの機能、関数を理解している必要があります。
逆説的な言い方になりますが、Excelでの面倒で複雑な作業をVBAで自動化し、効率化するには、まずその面倒で複雑な作業をExcelで行えるスキル、ノウハウを身につけている必要があります。

VBAの勉強方法

VBAの勉強方法には、さまざまな方法があります。ご自分のスキルや環境、時間などに合わせて、最適な方法を選んでください。もちろん組み合わせることもできます。

勉強方法①書籍

VBAを基本から、しっかり勉強したい人は「書籍」がよいでしょう。VBAについては、さまざまな書籍が出ています。まずは入門的な書籍で全体像を理解するとよいでしょう。VBAを使ってやりたいことが明確な場合は、それに沿った内容がしっかり書かれた書籍を選ぶと、困ったときにすぐに確認することもできます。

勉強方法②Webサイト

VBAを勉強するためのコンテンツは、Web上にも数多くあります。パソコンとインターネット環境が揃っているなら、Web上の「学習サイト」を利用することもできます。学習サイトは書籍と違って、無料で利用できることが大きなメリットです。一覧性に欠けるなどのデメリットはありますが、VBAのコードを実際に利用できるなどのメリットもあります。

勉強方法③動画

書籍やWebサイトでは具体的なイメージをつかめない、あるいは、通勤時間などを有効活用したいという人には「動画サイト」もあります。1〜2時間でVBAの基礎知識から実際にVBAを作るところまで解説した動画や、各ポイントを10分程度にまとめた動画など、さまざまな動画が公開されています。スマートフォンがあれば、いつでも、どこでも閲覧でき、勉強できます。

勉強方法③スクール

プログラミングスクールに通ってVBAを学ぶ方法もあります。費用がかかりますが、VBAの知識とスキルを確実に、しっかり身につけたい方にはおすすめです。独学では学ぶ内容に偏りが生まれたり、わからないことが出てきたときに、解決に時間がかかることもありますが、スクールならそうした問題はありません。VBAを学んだあとには、キャリアアップのカウンセリングなどを受けることもできます。

効率よく勉強するポイント

VBAを効率よく勉強するためには、いくつかポイントがあります。

ポイント①Excelを理解する

準備のところでもお伝えしましたが、ExcelでVBAを活用できるようになるためには、まずExcelを使いこなせることが大前提になります。しかも単にExcelにテキストや数字を入力して、「きれいな表を作る」というレベルではなく、Excelの機能や関数を理解し、使いこなせることが不可欠です。

ポイント②簡単なことから

Excelは高度な機能や数多くの関数を備えており、さまざまな用途に活用できます。そしてVBAを使うと、複雑な作業を自動化できます。
VBAが使えるようになると、実現したいことが膨らみ、一度にいろいろなことにチャレンジしたくなることもありますが、いきなり難しいことにチャレンジするとハードルが上がってしまいます。そして、クリアできないと勉強のモチベーションも下がり、逆効果になってしまいます。まずは簡単なところから始めるようにしましょう。

ポイント③日々の作業に活かす

「ExcelでVBAを使えるようになりたい」と考えている方は、日々の仕事でExcelを使っている方、Excelの作業に悩まされている方でしょう。ご自身の具体的な作業にVBAを活用することができないか考えてみてください。具体的なイメージが浮かぶと、勉強のモチベーションも上がります。

マクロのプログラミングを行う際のポイント

VBAを使ってマクロをプログラミングする際のポイントを紹介します。

ポイント①効率化する業務を明確化

まずはどの作業を効率化するか、VBAを使って改善するかを明確にすることが重要です。Excelを使ってどのような作業を行っているか、具体的な手順を書き出してみてください。今、Excelを高度に使いこなしている方は、意識しないうちに複数の作業をこなしているはずです。それらの作業を分解して、VBAでプログラミングしていきます。

ポイント②実際の業務に活用

VBAをプログラミングする際は、まず自分だけで使っているExcelのシート、つまり自分だけで作業が完結している業務に活用してみてください。複数の人やチームで使っているExcelをいきなり改善すると、使いこなせない方が出てきて、業務に支障が出る可能性があります。初めは問題が起きても、自力で解決できる範囲から改善を試みるとよいでしょう。

ポイント③簡単なところから

勉強のポイントと同じように、実際にプログラミングを行うときも、簡単なところから始めます。VBAを学ぶと、複雑な業務を自動化した事例を実際に目にするようになります。すると、今行っている業務をすべて自動化したい気持ちになります。完全な自動化は可能かもしれませんが、高度なスキルが必要になります。まずは簡単で、シンプルな業務から始めるようにしてください。

ExcelVBAのコーディングをする際のポイント

実際にExcelのVBAをコーディングするときのポイントを紹介します。プログラミングを本格的に学ぶことになっても役立つポイントです。

ポイント①インデントを使ってわかりやすく

インデントとは、行の最初に空白を挿入することを言います。日本語では段落の最初を1文字下げて、文章を読みやすく(=意味を理解しやすく)しますが、それと似たようなものです。具体的には、タブキー、あるいはスペースキーを使って空白を挿入します。
ブログラミングを行う際には、プログラムの構造をわかりやすくするためにインデントを使います。「自分で作ったVBAなのだから、そんな配慮は不要では?」と思われるかもしれませんが、あとで改良したり、修正する際にインデントが使ってあると、よりわかりやすくなります。さらに長い、複雑なコーディング(プログラミング)を行うときはインデントは必須です。

ポイント②コメントを残す

VBAのプログラムの中に、コメントを書いておくことができます。プログラムの途中に「’」を入れると、それに続くテキストはコメントとして認識され、プログラムには影響しません。
「なぜこうしたのか」「何のためのプログラムか」などをコメントとして書いておくと、インデントと同様に改良したり、修正する際に楽になります。コメントがないと、自分で開発したVBAでも、意図や目的を読み取って、作業しなければならなくなります。
複数の人と共同でVBAを作成したり、修正したりする場合は、なおさら必要になります。

ポイント③処理のスピードを意識する

前述の2つに比べると、少し高度なポイントになりますが、VBAはプログラムの方法やコードの選び方によって、処理の時間が変わってきます。違うコードで、同じ結果が得られる場合は、高速処理できるコードを選ぶようにします。VBAのコーディングに慣れてきたら、次はスピードを意識してみてください。

VBAをマスターしてExcel作業を自動化・効率化

Excelはさまざまな作業に使える便利なアプリケーションです。Excelを上手に使いこなせると、周囲から大きな信頼を得られます。毎日、Excelで複雑で、面倒な作業を行っている場合は、VBAをマスターして、Excelの作業を自動化・効率化してください。これまで時間がかかっていた作業も大幅に短縮でき、入力エラーなどのヒューマンエラーがなくなります。空いた時間で新しいことにチャレンジできます。

ExcelマクロVBAの勉強方法!初心者向けに徹底解説!のページです。ITエンジニア・移動体通信エンジニア(技術者)の派遣求人ならブレーンゲート。株式会社ブレーンネットはシステムエンジニアやネットワークエンジニア、プログラマーの派遣・転職をサポートいたします。