📘

2025年にExcel-VBAを学ぶメリット

に公開

この資料は「Excel-VBA(プログラム言語)を勉強してみようかな?」と
ヤル気を起こさせることを目標とした記事です。
社内の勉強会用に作った資料の焼き直しです。
そもそも「Excel-VBAってなにものよ?」って声があったので、そのあたりの疑問を解消しつつ「勉強してみよ」「やめとこ」の判断の材料になればと。

対象者

プログラミング初心者で何を勉強していいかわからない人
 (Excel-)VBAってたまに聞くけどなんなのソレ?って人

Excel-VBAってなによ

ExcelにくっついているVisual-Basicというプログラミング言語です。
 「マクロの記録」をつかった事がある人は、それを記録する言語。
 (マクロの記録というのはExcel上での操作を記録して再実行できる機能)
 Excelの操作は大抵できます。

おまえはExcel-VBAを使って何をしたの?

色々ツールを作りました。
 一番大きいものは無線基地局のSEの時に複数局の設定ファイルを算出するシステムの作成。
 無線端末ってのは通信しながら移動する事がある。
 なので移動しても通信が切れないように隣接する基地局とやり取りをしなければならない。
 なので、設定を変えるときはその当該局だけでなく、隣接局の設定も変更する事が必要。
 (点ではなく面で設定ファイルを算出&出力する)
 状況によっては数百局の設定ファイルを一括で力する必要がある。
 このシステムで日常的に設定ファイルを算出してました。
 総対象局は15000局(日本半分)。

他は情報の管理表的なものや情報をまとめたりするツールやらを無数に作成。

Excel-VBAを学ぶメリット

1.開発環境整備が他言語とくらべると圧倒的に楽
 (Excelファイル開いていれば「Alt+F11」で開発可能。秒で完了)

ホントは少し設定が必要。開発環境の整備の仕方は↓をみてね
  https://zenn.dev/mambo_ykhm/articles/0b17c741b73163

2.プログラミング言語の基本的な事を学べる。
  変数/定数/データの型/条件分岐(if)/くり返し(loop)/関数化(処理のまとめ)
  というホントの入門的事項は勉強できます。
  (VBAでオブジェクト指向を学習できない事はないですが、他の言語で勉強した方がよいです)

3.「手触りのある仕事」ができる
  Excel-VBAを使って作るToolって、業務上のちょっとした作業を効率化+精度を上げる
  ってのが一番向いています。
  つまり、目の前にいるチーム員や同僚から「便利になった/楽になった」と感謝され、
  成果が直接感じられる事が多いです。

(実はこの点、人によっては大きな喜びになります。
  バカでかいシステムの一部を作っていても「何作ってんだろ俺?」と無力感に
  襲われたりするので、じかに感謝されるのって仕事のモチベーションになったりします)

Excel-VBAで出来ないこと・デメリット

1.オブジェクト指向を勉強したい
  ⇒Excel-VBAは不向きです。Javaとかpythonで勉強しましょう。
  オブジェクト指向プログラミングができないわけではないですが、
  あまり生かすシーンがないとおもいます。
  Javaとかpythonのほうが解説も多いのでそちらで勉強した方がよいかと思います。

2.やりたい事がきまっている
 ・Webシステムを開発したい。
   ⇒Excel-VBAでは不可能です。Javaとかpythonを勉強しましょう

・AIとかビックデータを勉強したい
  ⇒Excel-VBAでは不可能です。Javaとかpythonを勉強しましょう

3.転職時に武器にならない
  自分の経験からですが、IT系の転職ではExcel-VBAは武器になりません。
  (募集要件に記載あれば別だけど)
  前述の設定ファイル算出システムのようなゴリゴリのもの作っていても全然受けません。

多くの面接官は「VBA?セル塗グラフ出しするだけだろ?」程度の認識です。
  履歴書とは別に説明用の資料をみせて説明して「ああ、そんな事もできんのね…」って
  感じなので、「転職時の武器に!」は期待できません。

(IT系ではなく事務系の仕事でしたら強力な武器になると思います。)

マトメ

・VBAの学習を始めるのはものすごく敷居がひくい
・学習用の情報もWeb上にたくさんある
・Excelファイルの扱いを手でやっているならVBAを勉強した方がよい
・転職では武器にならない
・でも使いこなすと身近な人に感謝される(自分も楽ができる)

以上

Discussion