top of page

Excel VBAとは?事務職から業務改善・クラウド/ Python & AI時代まで実体験で解説
VBAとは何か?
小学校では2020年度、中学校では2021年度よりプログラミング教育が必修化されたみたいですね。
大学入学共通テストでも「情報Ⅰ」で必須化されているようです。
VBA は Visual Basic for Applications の略で、主に Microsoft Office 製品(Excelを主としてAccess・PowerPoint・Word・Outlookなど)を自分でカスタマイズして自動化するためのプログラム言語です。
例えば
-
ExcelにOutlookでメールする定型内容をいれておいて(もちろんいつでも変更可能)一定のタイミングでその内容を自動的に流す
-
大量の画像データをPowerPointの一枚一枚のスライドを自動的に追加していきそこに画像データを一枚一枚自動的に貼ることでプレゼン資料作成を楽にする
-
データが大量でExcelが重くなってきたときにAccess(データベースソフト)と連携することでExcelからAccessにデータのみ置くような仕様にする
-
ExcelのデータをWord文書(請求書や報告書など)に流し込み一括で自動作成する
-
日本郵便のサイトからcsvデータとして(あるいはAPI接続して)郵便番号と住所のデータを得て、Excelに郵便番号を入れれば住所が自動入力されるようにする
といったことが出来たりします。
VBAは日本では1994年にExcelに初めて導入され1995年にWindows95がOSとして発売されWindowsの爆発的に流行に伴い大きく発展してきました。
つまり30年以上前から存在しつつ発展してきた安定した歴史を持つプログラミング言語です。
VBAとマクロとの違い
この記事を読まれている方はマクロという言葉を既にご存知かもしれません。
マクロ≒VBAです。
実際はほとんど区別せずに事務職の現場でも使われています。
ただ、厳密にはマクロはコンピューターの操作を自動化する「機能(結果)」を指し、VBAはマクロを作成するための「プログラミング言語(手段)」です。つまり「VBAという言語を使って記述された、自動化プログラム(指示書)」がマクロです。
私がVBAを学び始めたきっかけ
自己紹介でも書かせていただきましたが30代後半から数年間、USCPA(米国公認会計士)・EA( Enrolled Agent:米国税理士)の勉強をしておりました。TOEIC900点を超えることが出来、簿記2級もすんなり合格できました。
そこで子供も小さかったタイミングでしたが欲がでて挑戦したのがUSCPAでした。単なるキャリアアップというよりも、せっかく金融業界に勤めているのだから認められたいという想いでもありました。
ただ数点の差で4科目中1科目も受からず断念することになりました。そして僕は思いました。できるところまでとことんやったら「何かを断念することは人生の次の扉を開くことでもある」と。挫折感ではありましたが、もっと明るい挫折感でした。
「いーや。もう何年もやって受からない。弟は9カ月で完全合格。僕は小さいころから数学は苦手。『英語・会計・パソコン』の中の『会計』はもう諦める時期なんだ。うん。やりたいことをやろう。」そういった少し前向きさがある挫折感でした。
そんな中たまたま会った従兄弟にVBAを仕事で活用している話を聞きました。そして「KくんVBAできるよ。だって英語できるし。」と背中を押してもらいました。
(いまその従兄弟はDJもしてます。聴いてると元気なちょっと懐かしい気持ちになります😊
👉DJ FALCON)
そして今から8年前の2018年の頃から僕は元々「なんかおもしろそうだな」と思っていたExcel VBAでのプログラミングを始めました。
偶然買ったVBA本との出会い
そうしてたまたま週末に入ったコンビニで雑誌の脇に置いてあったポケット本をほんの短時間立ち読みさせてもらい(今は立ち読み禁止ですね)「これなら読めるかなぁ。最初はなんでも一番簡単な読めそうな本から」と書店で比較もせずに飛びつきました。

この本は一気に通勤中に読了しました。会社でコッソリVBE(Excelに付いているプログラムを書いていくエディターという)にmsgbox関数を使ってExcelの画面に自分の思った言葉をポップアップとして出させてみました。普通は“Hello World”とかなんでしょうが、たしか「こんにちは」とか「できるかな」とか入れた記憶があります。とにかく自分でExcel画面にポップアップが出た時は本当に感激しました。あ、こんな自由なんだ。そして僕にでもできる、と。
VBA学習で感じた良かったことと感じた限界
良かったこと
-
自分の業務のためだけのExcel VBAのころは「自分専用の同僚」ができた感覚になり嬉しかったです。
-
他の方にも使って頂けるようになり喜んで頂くと、「業務改善の楽しさ」を感じるようになりました。
-
非エンジニアでも成果が出やすい(数学より英語で書いていく感覚です)。
-
Office製品との相性の良さ:一旦office製品に乗せることが出来れば、ExcelからOutlookで自動送信するような加工やPowerPointとの連携も出来ます。安定性も高いです。
感じた限界
-
Webアプリには他の言語より実現するのが複雑で不安定なこともある
-
保守属人化の問題👉引き継ぎにくい(Excelレガシー問題)
-
「VBAは初心者には、やさしいが、中級者から難易度が急速に上がる、そんな特性をもっていることがわかる」「入口は楽ですが、進めば進むほど険しい道になる」
-
VBA は今でも需要があるのか?👉十分あります。事務職では重宝される技術のひとつです。
-
初心者学習ロードマップ・・・と言えるか分かりませんが、こうだろうか、あーだろうか、と試行錯誤して成長してきた成長期です。是非読んでください。
👉私がExcel VBAを学んだ理由|事務職から業務改善へ
VBAのクラウド/AI時代との相性問題
Microsoftの進化は一時期から急速にクラウド化/AI化を進めて来ました。
コードを使わなくても基本機能だけでどんどん便利になって行きました。
-
Power Queryの登場
-
Teams・SharePoint・OneDrive時代
-
Office Scriptsの登場
-
Python in ExcelでVBAだけでなくExcelでPythonも使えるように。
👉Python・AI時代に感じるExcel自動化の未来(Coming Soon)
まとめ
-
office製品内ではVBAは今でも便利です。一旦office製品内に入れることが出来たら、かなり安定性も高いです。ただPythonも使えると拡張性は一気に高まることも事実です。
いずれにしても「何を使える」ではなく、「“業務改善思考”が本質」ということを忘れてはいけないと思います。
-
VBA・Python・AI。
時代とともにツールは変わっていきます。
それでも「誰かの業務を少し楽にしたい」という気持ちは、これからも変わらな いのかもしれません。
ご相談・お問い合わせはこちら
👇👇👇
bottom of page
