
「VBAができる人が少ない」事自体が強みになる
果たして自分の職場の自動化は進むのでしょうか?
皆様の仕事の中で自動化したいけど色々な理由で自動化できない仕事はありませんか?
- Aという仕事の中で新しいキーワードが発生するとエラーが出て仕事が止まる
- 客先からの「Bパターンのデータが良い」という要望に対し自社ではCパターンでしか対応できない
- 上司から急に「Dパターンのアウトプットを今日中にEに変えて」と指示があった
こんな時に重宝されるのが「VBAができる人」です。3つの事例を全て片付ける事ができます。
VBAができる人はすぐにその場でコードを組んで最適なアウトプットを用意する事ができるからです。

例外処理、急な仕様変更、急な指示に対応できるのが「VBAができる人」の強みです。
こんなすごい機能を持ったVBAですができる人は少ないです。そして少ない事もみんな分かっています。
1年ぐらい前に会社でマクロを使える人は5割というニュースがありましたがにわかには信じがたいです。
「できる人」のポジションは空いているにも関わらず誰もその地位を狙いに行きません。なぜでしょうか。
以降で解説していきます。後半では「VBAができる人」の地位を獲得する為の方法を教えます。
独学で大変な思いをしながら勉強したりスクールに通って高い授業料を払う必要はないですよ。
関連情報
VBAを勉強できる環境を紹介します。勉強する為のコンテンツは皆様の環境次第で変わります。
どんな方法であれ「マクロを構築できる」様になれば良いです。各自の環境にあったコンテンツを選択して下さい。
マンツーマンで勉強したい
最短で「VBAができる人」になる為の方法です。プログラマーさんに直に聞きましょう。
結論としては勉強するしかないのですができるだけ勉強したくないので時短を試みます。
効率良く「VBAができる人」の地位を狙いに行きましょう。個人に教えてもらう事をおすすめします。
勉強の方向性がつかめてなかったりどうしたら良いのか分からない方はそのままの状態を伝えてみてください。
ゼロからどうやって勉強していけば良いのかを教えてもらう事ができますよ。
スクールで勉強したい
以下のような環境、考えをお持ちの方はスクールがおすすめです。
- 独学だとどうやって勉強を進めた良いのか分からない
- 不安なので実績があるコンテンツで安心して勉強したい
- お金には余裕がある
スクールの中ではWinSchoolさんをおすすめします。
一番の理由はスキルに応じたカリキュラムが揃っている事です。VBAだけでも全部で5種類あります。
サイト右上に「個別カウンセリング・無料体験」のボタンがありますのでクリックすると予約ができます。
講義の体験や説明会は無料です。他にもAccessVBAやDXに関する講座も沢山ありステップアップにつながります。
独学で頑張りたい
おすすめはしませんが独学でもマクロを習得する事は可能です。理由は「大変だから」です。
そのため独学でもVBAの勉強を継続する為にはライフスタイルや性格を考慮した勉強方法を選択する必要があります。
リンク先の記事にはYes,Noで回答すると最適なコンテンツが選択できる画像を用意しています。
作業時間は1分かかりません。最適な勉強方法を見つけてVBAを習得してください。

なぜ「VBAができる人は少ない」のか
複数ある中で3つに絞りました。1つずつチェックしていきます。
- 特定の用途に特化していると思われている
- 学習コストが高いと思われている
- 代替手段が有効であるという勘違い
誤認や現実を直視したくないという思いからVBAを勉強しなくても良いと思われている傾向があります。
この様にVBAができる人が少ないのは誤った認識によるところが大きいです。以降説明しながら訂正していきます。
1_特定の用途に特化していると思われている
一般的にVBAは活躍できるエリアが限定されておりMicrosoft関連のAppにしか使えないと言われています。
大きな間違いです。決してそんなことはありません。具体例を紹介し証明します。
VBAは色々な事ができる
少し専門用語が続きますがご容赦ください。(あくまでイメージ、概要レベルでとらえてください)
VBAはインターネットとも相性が良いです。VBA×SeleniumでWeb環境への入力出力の仕事を自動化できます。
これはWebスクレイピングという便利な機能です。難易度は高いですが作り込めばシステムとして運用は可能です。
比較的分かり易い動画を用意しました。参考:ExcelからYahooのニューストピックスを自動で取得しています
他にもGoogle翻訳に順番に日本語を入力し翻訳後にエクセルやスプレッドシートに取り出す様な事もしています。
更にVBAの中でWindowsAPIやShellscriptを使ってデスクトップアプリケーションを自動化しています。
ExcelだけではなくPC全体にかかる作業を自動化しています。VBAは特定の用途に特化していません。
2_学習コストが高いと思われている
VBAに限らないのですが分からない事を分からないまま勉強したら何でも学習コストが高くなります。
今まで使ってきたExcelと同じプラットフォームで全く違う事をやるので難しいのは当然なわけです。
書籍などで「たった○○で・・・」みたいにさもVBAが簡単だと誤った情報が流されている事があります。
そんなことはなくてVBAはプログラミング言語です。独学で簡単にできるものではないのです。
ただし知っている人から順番に教えてもらえば必ず理解できます。挫折するような言語ではないです。
私は楽器やスポーツよりVBAの方がはるかに時間とコストを抑えて習得できると思っています。
3_代替手段が有効であるという勘違い
数年前からのRPA、今年に入ってのChatGPTにより工数削減が達成できるツールが出てきました。
確かに簡単そうで人気はあります。しかし代替手段の様に見えるだけでVBAと入れ替わるほどの能力は無いです。
RPA
RPAはプログラミングの勉強はしなくても良いのですがRPA自体の考え方を学習しないと使えません。
ノーコードで良いという人はノーコードを達成する為の学習コスト(シナリオ設計など)の話が飛んでいます。
RPAもVBAも学習が必要であればVBAを学習する方が良いです。VBAの方が拡張性があります。
RPAはアプリケーションありきです。アプリが無ければRPAを使う事ができません。

RPAこそ属人化システム
加えてRPAは非常に脆弱なプログラムを構築して仕事を繋いでいますのでエラーが非常に多いです。
一例ですがオブジェクトの掴み方が非常に曖昧で動作が不安定なところがあります。
あるAppのアイコンをクリックするという作業の為にアイコンの位置を画像で認識する事があります。
このプログラムを使って別のPCでシナリオを実行してみます。
すると同じシナリオでもPCを変えた際画面の解像度が変わったりアイコンの色が微妙に違う事でエラーが起きます。
そんな点みたいな条件のシステムを繋ぐのが作業者です。これ属人化してませんか?
VBAは属人化・・・なんていう人が居ますがRPAも立派な「問題山積属人化システム」です。
ChatGPT
ChatGPTに関しては質問の方法によって回答が安定しません。加えて最新のキーワードには対応していません。
ChatGPTにコードを書いてもらってもすぐに使えるクオリティではないので結局自力で加工する事になります。

そこには何のスキルが必要でしょうか?VBAなどのプログラミングのスキルです。
シンプルに考えましょう。そろそろ何を勉強しないといけないのかが見えてきましたね。
VBAができればメリットしかない
メリットも3つに絞りました。
- 少ない時間で業務をこなす事ができる
- 仕事をカスタマイズできる
- 競争力が身に着く(固有の人材になる)
まとめると「個人で仕事を解決できる」ようになります。
1_少ない時間で業務をこなす事ができる
繰り返し行うタスクを含めたルーチン業務を自動化します。業務効率が改善され時間とリソースを節約できます。
空き時間でさらに勉強したり依頼された他部署、他部門の仕事をこなします。その後定時になったら帰ります。
「残業代が減るのでは?」と質問を受けたことがありました。確かに減ります。しかし評価は上ります。
目先のお金より会社での余裕を持った立ち振る舞いや先の評価を取りに行った方がいいと考えています。
2_仕事をカスタマイズできる
VBAが使えると、ExcelやAccess、OutlookなどのMicrosoft Office関連のAppをカスタマイズできます。
ExcelからAccessにデータを送ったりOutlookにExcelの添付データを付けてメールを送る事も可能です。
一方でMicrosoft関連の製品以外の仕事も効率化、カスタマイズできる様になります。
Webスクレイピングができれば一部RPAで構築するような仕事もVBAで構築可能です。
RPAツールは導入、維持が有償のものもあります。無料でExcelからWeb環境にアプローチできるのは強みです。
3_競争力が身に着く(固有の人材になる)
他者にできない事ができます。これは大きなアドバンテージです。
VBAを勉強していくとさらに成長します。理由は「ほかの言語も学ぶから」です。
例えばWebスクレイピングにはHTML、CSS、Javascriptを使います。
Excelはデータベースの役割も出来ますが本職ではないです。よってSQLを勉強したくなります。
私の例ですがエクセルの情報を発信する為にブログでWordPressも使うのでPHPも分かる様になってきました。
結果VBAを起点に様々な言語を勉強する事になるので「できる事」が芋づる式に増えます。
VBAの知識はOfficeScriptにつながる
Excelは各PCにインストールされているものを使用している人が多いのですがWeb版のExcelの普及も進んでいます。
Appのクラウド化の流れからするとおそらく数年後にはWeb版のExcelが主流になってきます。
VBAはWeb版のExcelには対応してないので使えなくなります。ここで代替手段となるのがOfficeScriptです。
OfficeScriptはJavaScriptを踏襲したTypeScriptという言語がベースになっています。
VBAユーザーはどこかのタイミングでOfficeScriptを勉強する事になるのですが1つ問題があります。
OfficeScriptはVBAより難しいです。ゼロからOfficeScriptを習得するのは相当大変です。
ただしVBAを勉強しておくと思考面で参考になる事が多いのでOfficeScriptの習得に非常に有利に働きます。
実際私はOfficeScriptも使っていますがVBAをやっていなかったら相当大変だったなという実感があります。

自身のステップアップにつながる
VBAができる様になれば関数に頼らなくても大量のデータやファイル、複雑な計算にも対応できます。
入門レベルを脱する事ができれば分析を含めたアナリティクス分野の業務などを担当する事ができます。
さらにキャリアを積んでマネジメントを含めたプロジェクト管理というキャリアパスも見えてきます。
他の候補者よりも優れた仕事の機会を得る可能性が高まることでしょう。
資格取得や転職にもつながる
VBAエキスパートを勉強することでマクロについて知識が深まります。
資格を足掛かりにして他の言語も勉強しながら実務を自動化させていきましょう。
いくつかの事例、プロジェクトをこなして実績を積むと業務プロセス全体を最適化出来る様になってきます。
知識も豊富になり状況に応じて最適なリソースを選択できる様になり結果を出す事ができます。
評価が上がることで報酬も上がり年収UPも狙えます。副業ができる会社であれば副業も可能です。
そうなれば本当に個人として自力がつくので会社に留まらず転職を検討出来る様になります。
ここまで出来れば立派なフリーランスエンジニアです。VBAは需要も将来性も十分にあります。
VBAができる人の地位を獲得する方法
結論です。勉強するしかないです。
ただしスクールなどで画一的なカリキュラムを学ぶのではなく個別で勉強できる環境が必要です。
これには理由があります。VBAは勉強する人に合った勉強範囲、順番、速度があるからです。

VBAの勉強範囲や順番に決まりはない
VBAはイチから勉強しなくても良いし学習範囲が広すぎるので全部学習する必要はないです。
皆様各自の仕事にあった勉強範囲や順番があります。もちろん理解するには速度も重要です。
自分ではコントロールが難しいので分かる人に見てもらいながら一緒に勉強する事で早期理解に繋がります。
人によって勉強範囲が違うとは
例えばあるソフトから抽出したデータを開発に活用する為に集計をしている人は図形を扱う可能性は低いです。
どちらかと言えば集計のアルゴリズムやグラフの作成方法を勉強する方が適しています。
1人1人職種も違うし案件も違います。そうなると希望する勉強範囲も違います。
そんな中画一的なカリキュラムで勉強してもアウトプットを活かす事ができません。
これが「VBAは人によって勉強する範囲が違う」という事です。
マンツーマンでVBAを教えてもらえる
最後に勉強範囲や順番を一緒に考えてくれる人を紹介します。
初心者向けにオンラインで丁寧に教えてくれますよ。VBAは業務改善に向いています。
スクールでも勉強できます
VBAの講座を展開しているスクールさんは非常に少ないです。
その中でもWinスクールさんはVBAについて多くの選択肢を提供してくれます。
ラインナップが多いという事は勉強する人ごとに勉強する内容を合わせやすいという事になります。
期待しているコンテンツが用意されている可能性が高いという事です。
サイト右上に「個別カウンセリング・無料体験」のボタンがありますのでクリックすると予約ができます。
講義の体験や説明会は無料です。まずは行動を起こしましょう。よい感触が得られると良いですね。
独学で頑張ってVBAを習得してみたい
一部独学で勉強する為のコンテンツを紹介しています。
こちらの記事では質問にYes,Noで回答すると最適なコンテンツが選択できる画像を用意しています。
作業時間は1分かかりません。最適な勉強方法を見つけてVBAを習得してください。
もしかしたら独学よりも良い勉強方法が見つかるかもしれませんよ。
参考:「Python in Excel」
参考ですが一部のライセンスでExcelにPythonが搭載されましたね。
別記事でまとめておきましたので興味がある方はご覧ください。
ExcelでPythonが使える【2023年】Python in Excelとは|いつから&何ができるのか?&今後の展望
今こそVBAの勉強をしましょう
「VBAは分からないからPythonをやるか」と思っている方にお知らせです。
少しキツイ言い方になりますがVBAが分からなければPythonは理解できない可能性が高いです。
Pythonに興味がある方は先にVBAの勉強を始めてください。学習コストはVBAの方が格段に低いです。
VBAが理解出来る様になるとPythonのコードが読み易くなります。リンクを読んでいただくと理由が分かります。
まとめ
会社内で「VBAができる人が少ない」のであれば勉強して積極的にそのポジションを取りに行きましょう。
VBAができる様になるだけではなく自身のキャリアに大きな影響を与えることになります。
経験者だからこそ言えることですが仕事やり方が劇的に変化する事で生活に余裕が生まれます。
少々失敗してもすぐに挽回できるので安心感を持って業務に取り組む事ができる様になります。
そうすると日常生活も安定してくるので健康にもつながります。
一時だけ頑張って勉強できればあとは良い事しか待っていません。
「VBAができる人」の地位を獲得してゆとりある生活をおくってください。