VBAやってみたいけど、わからないことが多い!という方はたくさんいます。
- VBAってそもそもなに?
- VBAでできることってなに?
- VBAって学んでも意味ないの?
- VBAってどうやって学んだらいい?
- VBAを学んだあとはどうしたらよいのか?
などなど。。。たくさんのお悩みがあると思います。
今回はVBAについての皆さんの疑問を解決します。
VBA(ブイビーエー)・マクロとは
そもそもVBA(Visual Basic for Applications)とは、ExcelやAccessといったMicrosoft Office製品に搭載されているプログラミング言語です。Office上の単純作業を自動化させるために搭載されています。
MicrosoftのVisual Basic(VB)をOfficeで使用できるようにしている言語です。
マクロと良く表記されることがありますが、マクロとは、操作を自動化する機能 という意味です。
ExcelやAccessなどのOffice製品では、操作を自動化するときに使用するのがVBAですので、Office製品でのマクロはVBAで記述されています。
つまり、Excelの「マクロの記録」を行うと、VBAのソースコードが出来上がり、次回からそのコードを利用できるというわけです。
もっと細かい指示をしたいときには、自分でコードを記述する必要があります。
VBAは独自の記述方法や、エディタのエラーの表示など、慣れてくると若干の使いにくさ(くせ)がありますが、プログラミングを覚える入門として覚えるにはとても分かりやすい言語だと思います。
プログラミングの始め方はこちらの記事も参考にしてください。
VBAを使ってできること
作業の自動化
ここではExcelのVBAに限定してお話しします。
例えば、Aシート、Bシート 2枚のシートが1つのブックにあったとします。
BシートのA列の文字列をAシートのB列にコピーしたい時、通常は手作業でコピー&ペーストをするか、セルに関数を入れるか。などの作業をしますよね?
こうすると、BシートのA列につどつど値を追加していったとき、正しくAシートにコピーできるでしょうか?
また、BシートのB列の誕生日を年・月・日に分けてAシートに貼り付けたいときは面倒ですよね?
これをVBAでコーディングすると、ボタン一つで毎回同じ動作をしてくれるようになります。
このように時間短縮だけでなく、ミスも減らせるようになります。
また、プログラムはVBとほぼ同じように記述できるため、簡単に覚えることができます。
VBAを使うと、データの集計やデータ収集なども簡単に実現できます。
VBAで開発するメリット
VBAは何と言っても開発環境の準備がとても簡単です。
MicrosoftのExcel(Office製品)を用意する。これだけです。
開発環境が簡単に構築できる
試しにVBAのコードを作ってみたいと思ったときは、Excelのメニュー「開発」から「VisualBasic」を選択するとコードを表示することができます。
メニューに「開発」がない場合は
ファイル⇒オプション>リボンのユーザー設定 の右側「リボンのユーザー設定」の「開発」にチェックを入れましょう
これだけでExcelVBAを開発する環境は整いました。簡単ですね。
動かしやすくエラーがわかりやすい
VBAはコードのエラーチェックがかなり強化されています。
プログラミングコードが記述された後、別の行に移るときにコンパイルを行います。
VBAは中間コードというものを生成しそれを実行しています。コンパイルはその中間コードを生成してくれます。
これを自動で行ってくれるのです。その際、文法エラーや構文エラーなどのコンパイルエラーが起こるとダイアログメッセージでエラーを表示してくれます。
慣れてくると少し鬱陶しいものでもありますが、これは設定で表示させないようにもできます。
最初のうちはこのようにひとつひとつエラーを教えてくれるのはありがたいですよね。
自分でコンパイルをかけなくて良いところも面倒がなくてスムーズに学習できるメリットのひとつです。
プログラミングの雰囲気を掴める
プログラミングを始めてみたいけど、何から手を付けていいかわからないよ。という方はぜひVBAから始めてみてはいかがでしょうか?
お手軽に、さくっとプログラミングの雰囲気を味わえます。
小さなマクロを作ってみて、「面白い!」となったら他の言語を検討してみても良いのではないでしょうか?
VBAの学習方法
VBAは簡単です。とは言いますが、プログラミング言語であることに変わりはありません。
ここでは、VBAの学び方のロードマップを解説していこうと思います。
①プログラミングの基本を学ぶ
プログラミングは基礎が大切です。
いきなり始めてしまうと、なにがなにやらわからずに結局挫折してしまう方が多くみられます。
エンジニアとして25年以上働いてきた筆者がおすすめするのはまず制御、構文を学ぶことです。
そのためには、ブロックプログラミングを利用するのが良いでしょう。
筆者の講座になりますが、こちらは練習問題も多く用意しており、修了するころにはプログラミングの構造がしっかりと理解できるようになります。
②本で学ぶ
基礎ができたら、書籍やUdemyなどで動くものを作ってみましょう。
こちらは書籍になります。
プログラミングは実際に手を動かすことしか身につきません。
本を眺めて、手を動かす、手を動かして、本の解説を読むを繰り返し行うことにより修了した時にしっかりと身についているでしょう。
一番の近道
実は、一番の近道はスクールで教えてもらうことです。
初心者だと、何が必要で、何が不要なのかの見極めができません。
教材もこれだけやればよい。というものはなかなか存在していません。
できれば体系的に学べるカリキュラムがあり、トラブルが起きた時に一緒に解決してくれる講師やメンターがいることが最大最速の近道だと私は考えています。
費用は掛かりますが、回り道に何十時間とかけて結局身につかないのであれば、その時間を費用に変えて、しっかりとした技術を身につけませんか?
不安だなぁと思うときは一度無料相談や無料体験を受けてみると良いでしょう。
こちらのスクールは、はじめてのプログラミングコースも用意されています。
入門としてはとても良いと思いますので、気になった方は一度無料相談を受けてみてください!
DMM WEBCAMPについては以前、詳細に掘り下げてみたことがありますので、そちらも参考にしてください。
まとめ
これで悩んでるんだけどどうしたらいいのかな??などがありましたら、筆者のTwitterのDMでご質問いただければ回答できるものに関しては回答させていただきます。
VBAは初めのプログラミング言語としてはとても優れていると思います。
ぜひVBAから学んで、一緒にプログラマーライフを謳歌しましょう。
こちらの記事も参考にしてください。