プログラミング初心者がPythonかVBAのどちらから学ぶべきか悩んでいるのであれば、VBAをオススメします。
なぜなら以下の3つの点で、VBAのほうがPythonより有利だからです。
2.VBAは勉強のモチベーションを維持しやすい
3.VBAは教えてくれる人が多い
ただし、VBAから学ぶことのデメリットもあります。
そのデメリットも理解した上で、VBA、Pythonの順で学んでいくことをオススメします。
本記事では、上記のように考える理由を説明していきます。
目次
VBA、Pythonの順で学んでいく
私は以下の順番で学んでいくことをオススメします。
2. Python
その理由を一言でいうと、「VBAのほうが仕事で使いやすいから」です。
プログラミング学習は、仕事で使いやすいことを重視すべき理由
VBA、Pythonの順で学んでいくべき理由は、「VBAのほうが仕事で使いやすいから」とお伝えしました。
しかし、そもそもなぜ仕事で使いやすいことを重視する必要があるのかと疑問に持つ人もいるはずです。
そこで、「仕事で使いやすいことを重視すべき理由」について説明していきます。
その理由は、仕事で使いやすいとプログラミングによる業務効率化を仕事の一つにできるからです。
つまり「プログラミングによる業務効率化を仕事の一つにできる」のです。
→「プログラミングによる業務効率化を仕事の一つにできる」
プログラミングを仕事の一つにすると以下のメリットを得ることができます。
業務効率化を仕事にすることで得られる3つのメリット
1. お金をもらいながらスキルアップできる
2. 実務経験を積める
3. 仕事が楽しくなる
業務効率化が仕事の一つになることで上記のメリットを得ることができます。
以下で一つずつ説明していきます。
メリット1. お金をもらいながらスキルアップできる
プログラミングを勉強するとき、会社勤務外の時間で勉強しようとする人が多いです。
しかしそれは賢明ではありません。なぜなら、ギャンブルだからです。
習得できるか分からないスキル(プログラミング)を手に入れるために、自分のポケットマネーと時間を使っているのです。
実際プログラミングスクールに入学すれば、数十万円は費用がかかります。
お金だけではありません。会社が終わった後に勉強したり休日に学習したりするため、大量の時間も投資しています。
習得できるか分からないスキルに、お金と時間をかけるのはもはやギャンブルに等しいです。
仕事の一つとしてプログラミングを勉強できる意味
しかし、もし会社で仕事の一つとしてプログラミングを勉強できるならでしょうか。
上記の利点があります。
たとえば、会社の仕事の一つとして認知されれば、勤務時間の1,2時間をプログラミングの時間にできます。
仮に週5日の勤務うち、1日2時間勉強できれば、1週間で10時間分の勉強が可能です。
実際、私もこの方法でVBAを学びました。1日2時間くらいはVBAで効率化プログラムを作っていたものです。
1つ目のメリットをまとめると以下です。
メリット2. 実務経験を積める
会社で仕事の一つとしてプログラミングをすることで、実務経験を積める点は魅力的です。
なぜなら実践経験がそのまま、転職などのアピールポイントにできるからです。
たとえば、私はVBAで年間100時間以上の業務効率化を実現しました。
その経験を活かして、IT系の会社に転職をした経験もあります。
(VBAプログラミングで転職したわけではありません。しかしDxを牽引する事業会社へ転職しました)
転職ではVBAプログラミングをネタにして転職先の人と面接でき、意気投合できました。
エンジニアの人が多い企業でしたので、大きなアドバンテージでした。
会社で効率化プログラミングを作成すれば、キャリアアップにつなげることもできる点は価値が高いです。
会社で仕事の一つとしてプログラミングをすることで、実務経験を積める
メリット3. 仕事が楽しくなる
職場でプログラミングを使えることは勉強のモチベーション維持につながります。
なぜなら、自分で作ったプログラムで実際の仕事が改善されていくからです。
たとえばこれまで1時間かけて手入力で作っていた資料が、プログラミングによって10秒で出来るようになります。
それだけではなりません。場合によっては、周囲に感謝されます。
嬉しくてさらにプログラミングを学ぶモチベーションが沸いてきます。
実際、私もVBAで会社のプログラムを作って、同僚作業(1日15分かかる作業)をボタン1つで動くようにしました。
朝出社して、ボタンを押したら、10秒ほどで作業が完了することに感動して、めちゃめちゃ喜ばれました。
仕事をして感謝される経験はあまり少なかったので、ますますモチベーションが上がっていったのを覚えています。
仕事のモチベーションが上がる
ここまでの話をまとめます。
仕事の一つとして扱うことができれば、以下のことを享受できます。
1. お金をもらいながらスキルアップできる
2. 実務経験を積める
3. 仕事が楽しくなる
プログラミングを仕事の一つとして認めてもらうのが重要であることは理解いただけたはずです。
それでは、なぜVBA,Pythonの順番で学んでいくべきなのでしょうか?
以下で詳しく紹介していきます。
VBAのほうがPythonより仕事で使いやすい3つの理由
なぜVBA、Pythonの順番で学ぶのかというと以下のとおりです。
「VBAのほうが職場で受け入れてもらいやすいから」です。
その理由は以下の3つです。
2. VBAのほうがなじみがある
3. Excel操作であればVBAはプログラミングのハードルが低い
1. Pythonは標準装備されていない
Pythonは多くの職場のPCには標準装備されていません。
そのためPythonを使用するには、以下の設定が必要になります。
・ライブラリをインストール(openpyxlやxlwingsなど)
・エディタをインストールする必要がある(PycharmやVS codeなど)
そして、これらの設定作業が厄介なのです。
まず会社によっては、上記の設定がセキュリティに引っかかる可能性があります。
そのため、会社のセキュリティ部門に問い合わせる必要があります。
仮にセキュリティは問題ないと分かったとします。すると、次の問題が発生します。
自らPythonを使用するために複数のインストール作業をしなければならないことです。
残念なことにプログラミング初心者は、この設定作業で挫折してしまいがちです。
VBAは設定作業はほとんどない
一方で、VBAは上記のような煩雑な設定が不要です。Excelをインストールしてさえいれば、誰でもVBAを使用可能です。
このように、VBAは誰でも使いやすい点で優秀です。
2. VBAのほうがなじみがある
業種によっては、Pythonになじみのない人は多いです。
とくにプログラミングに興味がないと、単語すら知らない人も少なくありません。。
それゆえ、PythonでExcel作業を効率化と言われてもイメージできません。
これがなぜ厄介かというと、「作成したPythonプログラムが普及しないこと」です。
もしあなたがPythonで効率化プログラムを作成したとします。
そのプログラムを職場で使ってもらうとき、他の人がPythonをインストールしないといけないのです。
Pythonに興味があればまだしも、Pythonに興味がない人にPythonをインストールしてもらうのは想像以上に大変です。
結局、Pythonを使えるのは職場であなただけとなり、職場に改善効果を普及できないのです。
VBAはマクロとしてなじみがある
一方で、VBAはマクロとして日常業務に入り込んでいます
ITに疎い人でも、マクロという単語は一度は聞いたことがあるはずです。
実際、職場でマクロと聞くと、VBAで作成した仕組みが一般的です。
私は製造業で働いた経験がありますが、工場の製造担当の方もマクロについては馴染みが深かったです。
このようにVBAのほうが職場の人になじみがあることが多いです。
3. VBAについて知っている人が身近にいる可能性がある
VBAは職場で使われていることが多いので、VBAを使える人が1人か2人はいることがあります。
そのため、VBA経験者を見つけやすいメリットがあります。
その経験者の方が作成したマクロ(VBAプログラム)を見ることができます。これはとても勉強になります。
いざとなったら、教えてください。とお願いすることもできます。
私もVBA初心者のとき、VBAのスペシャリストが身近にいてよく質問に行っていました。
この安心感はとても大きかったです。
Pythonを教えてくれる人がいる職場は少ない
一方で、Pythonを職場で使う人は少ないです。
実際、私が大手企業で勤務しているときは、Pythonで業務効率化をしている人はいませんでした。
このようにVBAのほうが職場に普及していることが多いため、勉強がはかどります。
VBAから学ぶ2つのデメリット
ここまでVBAを学ぶメリットを紹介してきました。
しかしながら、VBAを学ぶデメリットも存在します。
それは以下の2つです。
2. Pythonのほうが転職や副業では有利
1. VBAはPythonと比較して出来ることの幅が狭い
VBAはMicrosoft Officeの自動化を目的としています。
そのため、VBAは出来ることの幅が狭くなります。
一方で、PythonはExcel仕事を含めたMicrosoft Officeのアプリから機械学習、ウェブアプリまで応用の幅が広いです。
このようにPythonのほうが広範囲をカバーできます。
そのため、いろいろなことができるようになる点では、Pythonに軍配が上がります。
2. Pythonのほうが転職や副業では有利
Pythonのほうが将来性があるため、VBAよりPythonのほうが転職や副業では有利です。
上述のとおり、機械学習やウェブアプリというのは、専門性が高く、高いお給料をもらいやすい分野です。
このような観点から考えると、VBAを学ぶことによるデメリットもあります。
これは理解しておく必要があります。
これらについては、以下の記事で詳しく紹介しています。
Pythonのほうが仕事で導入しやすい場合もある
ここまでVBAを学ぶことをオススメしてきましたが、オススメしない場合もあります。
それはPythonのほうが仕事で導入しやすい場合です。
私はVBAのほうがPythonより職場に受け入れてもらいやすいと考えています。
それは私の経験上、VBAとPythonのどちらを学ぶか悩む人であれば、職場がVBAを受け入れてもらいやすいからです。
しかし場合によっては、VBAよりPythonのほうを会社として推奨していることもあります。
たとえば、Microsoft Officeを使っていない会社です。
実際、ITベンチャー企業ではMicrosoft Officeを使わない会社もあります。
Googleアプリを使っている会社もたくさんあります。その場合はPythonのほうがVBAより馴染みがある人が多いことがあります。
その場合は、Pythonを学ぶことが有利です。
要は今の職場でVBAとPythonのどちらが受け入れてもらいやすいか? という視点で考えるのが重要ということです。
なお、Googleアプリをメインに使っている会社ではGASから学ぶほうが良いかもしれません。
GASについては以下で詳しく紹介しています。
VBA、Pythonの順で学ぶ戦略のまとめ
本記事で私が伝えたいことは、以下のとおりVBAから学んでいく戦略です。
ステップ2. Pythonを学んで出来ることを広げていく
まず仕事の一つとしてVBAを使い業務を効率化していきます。
そしてVBAを学ぶ過程でプログラミングに慣れていきます。
その後、Pythonを学んでいく流れです。
VBAを学べば、Pythonを学ぶのはそこまで難しくない
プログラミング言語はVBAとPythonで異なるが、根本は同じです。
そのため、VBAでプログラムを書いた経験があれば、Pythonを学ぶときのハードルも小さくなります。
リスクを取らない。賢く実践
Pythonは業務効率化(Excel仕事など)、機械学習やウェブアプリまで幅広く活用することができます。
できることの幅広さであれば、Pythonに軍配が上がります。
そのためプログラミング初心者がPythonから学び始めたいとなってしまうものです。
また、できるだけ早く自分のものにすべく、何十万のお金を支払ってプログラミングスクールに通いたく気持ちも分からないではありません。
しかしそれは賢明な選択とは言えません。
なぜならリスク(習得できない可能性)が大きいからです。
もし習得できない場合、何十万ものお金と費やした時間が徒労に終わってしまいます。これは非常にもったいない。
それよりも本記事で記載した戦略でリスクを小さくして、始めることです。
多くの人にとって、VBAのほうが今の会社で使うにはラクなはずです。(PythonとVBAで悩んでいるのであれば、なおさらです。)
上司との信頼関係があれば、「VBAを勉強したいので、経費で勉強させてほしい」と言えば、VBAの教材を経費で購入できる可能性もあるはずです。
しかし多くの会社にとってPythonは馴染みが深くありません。
最終的にはPythonを習得するという視点であれば、以下の戦略が賢明。
→実務でプログラミングを実装する感覚を身に着ける
ステップ2. Pythonを学んで出来ることを広げていく
→キャリアチェンジも視野に
どうすれば仕事の一つとして受け入れてもらえるか?
ここまでVBA、Pythonの順で学ぶことをオススメしてきました。
そのステップ1として、「VBAから始めて、業務を自動化する」ことをお伝えしてきました。
しかしながら、プログラミング初心者がどのようにしてVBAで目の前の業務を自動化していくべきでしょうか。
以下で私なりの見解をお伝えしていきます。
ステップ2. 費用をかけずに自学する
ステップ3. 実際に業務を改善してみる
ステップ4. 実績をもとに上司に相談する
ステップ5. プログラムを作ってガンガン試す
ステップ1. 改善できそうな業務を見つける
プログラミング初心者の場合、
以下の動画やウェブサイトでVBAで出来ることを紹介しています。
これをご覧になって、ご自身の業務で改善できそうな業務をイメージしてみます。
イメージが沸いてきたら、次のステップです。
ステップ2. 費用をかけずに自学する
プログラミング初心者が、知識ゼロでいきなりプログラムを書けることはありません。
勉強が必要です。カンタンなプログラムを作成できるレベルになる必要があります。
少しずつレベルアップできる教材として、以下のサイトで初心者のための学習動画を紹介しています。
以下の記事(VBAサイト)でVBAの一連の勉強ができるはずです。
もし可能であれば、上司に相談して「VBAの教材を経費で購入していいですか?」と聞いてみてもよいと思います。
理解ある上司であれば、協力してくれる場合も少なくありません。
ステップ3. 実際に業務を改善してみる
自分のルーティン業務の範囲でよいので、実際の業務を改善していきます。
ここで実務でプログラミングを実装する感覚を身に着ける。
ウェブで検索すると多くの情報があるので、ウェブを活用しながらスキルを高めていきます。
ステップ4. 実績をもとに上司に相談する
カンタンなマクロが書けるようになったら、「○○の仕事なら業務効率化できます」と伝えてみます。
ここで、ようやく業務効率化を仕事の一つにすることを上司に提案します。
ここまでで業務効率化の実績があれば、認めてもらいやすいです。
マクロを使ってきた実績を準備しておきましょう。
以下のような実績を見せれば、仕事の一つにしてもらえる可能性が高まります。整理しておきましょう。
2. ○○の自動化:10分→10秒(年間で120分→120秒)
3. xxの自動化:5分→10秒(年間で60分→120秒)
合計で年間9時間→15分
最初は仕事の1,2割を効率化に使うことを目標に提案してみましょう。
会社の経費でVBA講座を受講したり、教材を購入したりできる可能性が高まります。
私の経験では経費1~2万であれば、まったく問題なく上司からOKがもらえます。
5万や10万をこえるとメンドウな稟議が必要になることがありますが、1~2万円であればほぼ通ります。
ステップ5. プログラムを作ってガンガン試す
ここまでくれば、VBAを作るのが楽しくてしょうがなくなります。
実際、私はマクロを作りまくって、実績を作っていきました。
上司やチームに仕事の一つとして認めてもらえると、作業をチームに依頼しやすくなります。
「あいつがプログラムを書けるから」という理由で、メンドウな書類作業を一部他の方に依頼できるようになりました。
当の本人(私)は、楽しくてプログラミングをしながらお金をもらっています。(本当に会社でゲームをするような感覚でプログラムを書いていました)
しかしプログラミングが分からない人には、「あの人は頑張って会社に貢献してくれている」と思ってくれます。
結果的に楽しみながら、チームに喜んでもらえるようになると大丈夫です。
あとは勝手にプログラミングが上達していきます。
VBAを勉強するときのオススメ勉強方法
もしVBAについてしっかり学びたいということであれば、無料オンライン学習教材を紹介しています。
私もプログラミング初心者だったころ、こちらのオンライン教材を試しました。
勉強し始めてから2ヶ月たったころには会社の仕事を効率化していました。
最初は小規模でしたが、徐々に効率化のレベルを上げていき、会社の基幹システムから情報を取得して自動更新するという作業まで効率化しました。(これだけで年間50時間以上の改善効果)
ぜひこちらで勉強してみてください。
Pythonについて詳しく理解したいなら
Pythonを活用すると、仕事を効率化できる幅を広げることができます。
たとえば私が実際にPythonを活用して効率化してきた作業は以下の記事で紹介しています。
興味がある人は以下の記事もご覧ください。