VBAは時代遅れ!やめとけ!評価されない!に反論する。

VBA(Visual Basic for Applications)は、ExcelやWord、PowerPointなどのマイクロソフトのアプリケーション上で実行することができるプログラミングなのですが、ネット上では、残念な意見が散見されます。

  • VBAは時代遅れだぞ。今更勉強する価値なし!
  • VBAは辞めとけ!それなら他の言語を覚えるとよいぞ!
  • VBAなんて、できたところで評価されないぞ!

この記事では、そんなことないよというのをお伝えできればなと思います。
職場でこのような扱いされてしまっている、VBAプログラマーの心の支えになればなあ。と思います。

記事を書いた人

こんにちは。当ブログの管理人の『くろん』です。
30代サラリーマン、新規事業推進室に所属。ブラック企業勤め時代に身に着けた業務効率化ノウハウをアウトプットしていきます。
読んでくれた方の業務が一秒でも早く終わりますように!と願いながら記事書いていきます!

スポンサーリンク
目次

VBAは時代遅れ!やめとけ!評価されない!と言われてしまう理由

VBAがあまり評価されない理由として、大きく4つあるかなと個人的には思ってます。

  • 【仕様上の問題】Microsoftのアプリケーション上でしか動かないという限定的なプログラムであること
  • 【誤解】マクロの延長線上であると誤解されること
  • 【社内営業の問題】個人が業務を効率化したいがために、勝手にやってると思われがち
  • 【リソースの限界】個人がVBAで組み上げたものが大規模システム化することは少なく、陽の目をみないことが多い

それぞれ、詳細説明していきますね。

Microsoftのアプリケーション上でしか動かないため

一部の方からは、VBAってプログラミングじゃないよね。みたいな言われ方をすることがあり、Microsoftのアプリケーション上でしか動かないもんねー。みたいに下にみられることがあります。

そのあたりは、別の記事で書いたので、こちらも合わせてみてほしいのですが、パソコンに処理方法を指示しているので、十分にプログラムだと思うんですけどね。

マクロの延長線上であると誤解されやすいこと

VBAってマクロの延長にあるやつでしょー。記録すればいいだけだから、0からプログラム組まなくていいから、簡単でしょー。と、謎解釈をされることがあります。

確かに、VBAがとっつきやすいところの一つに、マクロで記録した内容を閲覧すれば、Excel上の動きがVBAだとこのように表現するんだがリンクしやすいというのは、あると思います。

ですが、VBAをある程度使いこなしてくると、マクロで記録して参考にしようというのは稀になってきます。むしろマクロでの記録は、かなり周りくどいというか、長く無意味なプログラムとなることがあるので、コピペすることは少なくなってくるので、マクロの延長線上にVBAはないと個人的には思ってます。

個人が業務を効率化したいがために、勝手にやってると思われがち

VBAって、個人が勝手にExcel作業を効率化したいがために、会社の許可を得ることなくやっている。と、サゲ目線で見られることが多いですよね。

VBAをはじめるきっかけって、多分自分の仕事のルーチンワークをもっと簡単にできないかなー。みたいなところから入る方が多いと思うし、Excelに付随している環境でできるので、会社の許可なくできてしまうところに起因している気がしますね。

個人がVBAで組み上げたものが大規模システム化することは少なく、陽の目をみないことが多い

会社全体のプロジェクトとして作られたVBAシステムを除き、個人の業務効率化を目的とした手弁当VBAはその個人が使うか、広がったとしても同じ部署止まりの広がりしかみせないことがほとんどです。

というのも、全社的にどーんって広めたとしても、バグやら改修やら、そういうののコストがバク上がりする可能性があり、作った側としても躊躇してしまいますから。その結果として、一部でしか使われず、上層部の目に届かないことが多い気がします。

個人や部署レベルの業務効率化には貢献できるけど、それ以上になにか業務効率化をすすめようとすると、もともとがただのExcelなので、限界がきてしまうんじゃないかなと。(もちろん、中には上手に全社に広められるようなVBAを作成できる方もいるとは思うのですが。)

VBAは時代遅れ!やめとけ!評価されない!に対する反論

反論半分、じゃあどうするのか半分で、いろいろ書き連ねていきます。

VBAが時代遅れに対する反論

Microsoftのアプリケーション上でしか動かないやんのやんの言われますけど、大企業でもない限り、自社の独自システム使って業務することのが少なく、データの処理やいろいろあれやこれやは、Excelがまだ最前線にいると思うので、その作業を効率化できるプログラムは有益です。間違いなく。

つまり逆に、VBA時代遅れだよねー。と言ってる方々は、本職のプログラマーか、大企業に勤めてる方なんだなーと。戦ってる土俵が違うし、求められてることも違うだろうし、あまり気にしないでいいかなと。

まだまだ、ExcelやWordは日本のほとんどの会社の主流のツールであることは間違いないので、時代遅れってことはないです。身につけておいて損はないと思います。

VBAやめとけ!に対する反論

VBAやめとけ!と言ってる方は、多分ですが、VBAを学習するより、他の言語を学習したほうが、発展性があるから、勉強コストもったいないよ!ということだと思うんです。

この指摘は分かる気もするんですが、VBAはプログラミング学習の入口として最適だと思うんです。というのも、プログラムをする場合、環境構築が必要なのですが、この環境構築がめんどくさくて挫折するパターンもあるあるなんです。

一方、VBAはExcelにくっついているので、環境構築もなくすぐにプログラミングに着手できるという点がとっつきやすいと言えます。また、普段よく使ってるだろう、Excelの処理をプログラミングできるので、プログラムがどう動いているかもリンクしやすく、プログラム初心者にはもってこいだと思います。

VBAをある程度使えるようになって、プログラムの処理の仕方等々を把握してから、他の言語の勉強を始めたほうが、挫折もすくないのかなと。

なので、VBAやめとけ!ってことはなく、VBAを通過点にして、他のプログラミング勉強してみようぜ!って僕は思ってます。

VBA評価されない!に対する反論と対処法

VBAはとっつきやすさから、なかなか会社の承認を得ずに進めるケースが多いですよね。VBAに触れてまもないころに、会社の承認を得てしっかり順序だててやってしまったら、完成させなきゃいけなりますしね。そのプレッシャーは最初からは受けたくないですから、やっぱダマで始めることが多いですよね。

その結果、出来上がったとしても、会社の許可を得ずにかってに作ったシステムなので、なかなか評価されないというのは、確かにそのとおりだと思います。

会社の風土として、このように自己研鑽の結果生じた、会社に利する行動や成果物をちゃんと評価してくれる仕組みがあればいいんですけどね。ほとんどはないので。。。

なので、最初はダマでやり始めたVBAも、あるときから上司や周囲の人を巻き込んで、作成前にコミットメント(こういうものを作るので、そしたらこういう効果が得られます)をして、完成した暁にはバグや改修を恐れず部署に広めるってのが評価されるためのムーブかなと思います。

でもね、↓で紹介する『効率化人材デススパイラル』にハマらないようにだけは注意が必要です。効率化は、社内のポジションやキャリア、同僚・経営陣の効率化システムへの理解を促すなどなどを考慮の上行わないとダメです。。。

効率化デススパイラル

最悪な展開は、頑張ってVBAを書いて、効率化によって生じた余剰時間に、また新たな業務を追加され、そしてVBAを書く暇も与えられず、業務の処理だけで忙殺されて、疲弊していく。。。
耐えきったとしても、ある日過去に作ったVBAの改修に迫られて、その時間も与えられず。。。サビ残。。。持ち帰り業務。。。休日出勤。。。
みたいな光景、絶望しかないですよね。だったら、最初から効率化になんか取り組まず、テキトーに仕事すればいいじゃんって話しなので。

この【効率化デススパイラル】は、経営側のプログラムに対する理解のなさが原因だと思ってます。

  • プログラムはちゃちゃっと作れる
  • プログラムは一度作ったら、もう手直ししなくてもずっと動く
  • 社員は勤務時間は目一杯働くことが大事。余裕の時間なんて許さない

こんな社長・経営陣のもとでは働きたくないですけどね。頑張るのであれば、プログラミングの理解を促せるように、ことあるごとに言い続けるしかないかなと思います。

【まとめ】VBAはやめとけ!時代遅れ!評価されない!。。。そんなことはないよ。

この記事をまとめると。

VBAは時代遅れ!やめとけ!評価されない!とされる理由
  • Microsoftのソフト上でしか動かないため!
  • マクロの延長線上にあるイメージ。マクロ記録すれば出来るから誰でもかけそう。
  • VBA覚えるくらいなら、他のプログラミング言語をちゃんと覚えたほうがよい。
  • 個人が勝手にやってると思われがち。大規模システムにはなりづらい。
VBAは時代遅れ!やめとけ!評価されない!に対する反論
  • Microsoftのアプリは、まだまだ現役で活躍しているので、VBAも時代遅れではない。
  • 環境構築も不要であるので、プログラム初心者にもとっつきやすい。VBAをある程度できたら、他の言語を覚える流れは全然あり。
  • 評価されるような立ち回り方が必要。具体的には、先に作成物をコミットする。事あるごとに効率化のアピールをする。
  • 評価されないような会社、とっとと辞めるのが良い笑

個人的にも、VBAはプログラムを始めるきっかけになった、思い入れのある言語です。多くの方が触れるようになってくれると嬉しいです!

スポンサーリンク
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次