Excel VBAを学び続けるための土台をつくる

VBAはとても多くの方が活用している人気のプログラム言語です。書店の「Excel VBA」コーナーは、すべての言語の中でも最も広いといってもよいほどの棚面積を専有していて、毎月新しい入門書や解説書が出版されています。

表計算ソフトExcelはビジネスマンなら誰もが使うといっても過言ではありません。そして、VBAはそのExcelに搭載されているわけですから、人気があるのはうなずける話です。Excelがインストールされていれば、開発環境の準備といった技術的なハードルも低く、気軽に、そしてすぐにVBAの扉を開くことができます。

VBAはExcelを操作するのが得意ですから、日々のオフィス業務に直接的な効果をもたらします。何時間もかけていた、いつものExcel作業が、マクロを組んでみたら一瞬で終わってしまった。そんな感動を多くの方が味わっています。

このように、VBAはITエンジニアだけでなく、すべてのビジネスマンに門戸を開き、その仕事の価値を高めるチャンスを提供している、希少なプログラム言語の一つです。そして、一般的にはプログラミング初心者向けの「やさしい言語」と考えられています。

そんなVBAですが、ある程度学習と実践を重ね、いくつかのマクロを本格的に活用し始めた頃から「VBAならではの苦労」に悩まされるようになります。

  • VBAの情報が頭の中でごちゃごちゃになっている感覚がある
  • コードを書くときにいつも「この方法でいいのか」と不安がある
  • 開発したツールのメンテナンスが重荷になっている
  • 以前書いたコードを読み返すのに時間がかかる
  • 前にできていたはずのことができなくなってしまった
  • 動くには動いているけど身についている実感がない
  • 新しい命令を覚えるのが負担になってきている

学び始めたころには感動でいっぱいであったものが、次第に不安感、不信感、負担、苦痛、焦り……そういったものに取って代わるようになってきます。あなたは、いかがでしょうか?

こうした感覚は、他のプログラミング言語ではそれほど目立たない、以下のようなVBA独自の「弱点」から生まれてきているように思います。

  • 理解があやふやなのに動いてしまっているため、エラーや仕様変更が発生したときの対応に大変な労力がかかる
  • 同じ目的に対して、それを実現するための書き方がいくつも存在していて混乱する
  • たくさんの「自己流」が存在していて、他のVBAユーザーとの協力体制を築きづらい
  • クラスやオブジェクトモジュールなどの概念について学ぶ機会がないため、他の方法で実現してしまっている

なぜ、このような弱点が生まれるかというと、それはVBAという言語の特性であったり、VBAの主なユーザーが専門のプログラマーではないことが多いという事実であったり、様々な要素に起因していると考えています。この問題を解決するために、⁠パーフェクトExcel VBA』では、以下のステップでVBAというプログラミング言語を再学習することを提案しています。

  1. 言語としてのVBAとその学習環境の特徴を知る
  2. プログラミング言語VBAの体系を学習の土台として整える
  3. その土台の上に、主要なライブラリについての知識を乗せ直す

本書を読破し、土台を整えて、知識を取り入れるには、それなりの時間を要するものと思います。しかし、それを乗り越えた先、Excel VBAの学習と活用にかかる労力は大きく軽減でき、新たなExcel VBAの世界を魅力的に感じていただけるはずです。

本書を活用することで、ひとりでも多くのExcel VBAユーザーの学習時間、活用時間の価値が高まってくれることを期待しています。

(⁠⁠パーフェクトExcel VBA』より抜粋、再編)