こんにちは、みやびのです。
プログラミング歴は12年ほど。最初はVBAでプログラミングを学びました。

今回は、
「これからプログラミングを始めようと思うのだけど、VBAとPythonならどちらで始めるのがよいの?」
という疑問に答えます。

ITエンジニアを目指している方ならPythonがおすすめです。
理由はPythonはVBAよりも汎用性が高いため。

VBAは表計算ソフトのEXCELを操作するのがメイン機能ですが、Pythonは表計算ソフトの操作はもちろん、AI・画像操作・Web・アプリ開発など様々な分野に活用できます。

本記事の内容は以下の通り。

・【比較】PythonとVBAはどちらを学ぶべき?
・初心者はPythonでプログラミングを始めよう
・EXCELでしかプログラミングを使わないならVBAもあり

基本的にはPythonで始めるのがよいと思いますが、VBAはEXCEL操作の機能が充実しているのでEXCELのみでプログラミングを使うという方はVBAで始めるのもありです。

【比較】PythonとVBAはどちらを学ぶべき?

天秤
PythonとVBAを以下の4点で比較します。

・難易度
・人気度
・活用できる分野
・始めやすさ

難易度

難易度は記述方法が簡単なPythonの方が低いです。

一方のVBAはPythonより少し記述が面倒なくらいで難易度は簡単な言語に入ります。
よってプログラミングの難易度に重点を置きたい場合はどちらを選んでもOKです。

人気度

Pythonは非常に人気の高い言語で2019年のランキングではJavaScriptに次いで2位を獲得しました。(年次レポート「オクトバース(Octoverse)」調べ)
機械学習分野が得意であるため、今後ますます活躍することが期待できます。

一方のVBAは圏外です。
開発者向けの言語というよりは非ITエンジニアでも組めるプログラミングという感じですからね。

参考:人気プログラミング言語トップ10【2019版】

活用できる分野

Pythonは機械学習やデータ解析が得意としている言語です。
得意分野以外でもアプリ・Web・画像操作・音声操作など様々な分野で活用できる非常に汎用性が高い言語でもあります。

とりあえずPythonを覚えておけばプログラミングでやりたいことはだいたいできます。

一方のVBAはEXCELの操作の特化した言語です。マクロ記録機能でコードを自動生成できるのもポイント。
EXCELだけでなくOSの機能は一通り操作できます。

アプリやWeb開発にはあまり向かないのでPythonほどの汎用性はありません。

以上のように活用できる範囲ではPythonのが勝ります。

始めやすさ

Pythonを始める場合パソコンに動作環境をインストールする必要があります。

とは言え公式サイトからインストーラーをダウンロードして実行するだけなので普段からパソコンを使っている人であれば問題ありません。

ちなみにMacならPython2が最初から入っていますが、Python2は間もなくサポートが終了するのでこれから勉強するならPython3のがよいでしょう。

VBAはEXCELがインストールされているパソコンであれば最初から使うことができます。

わずかにVBAの方が始めやすいですが、Pythonの動作環境のインストールもそれほど手間ではないので、始めやすさに大きな差はありません。

初心者はPythonでプログラミングを始めよう

陸上競技のスタート
初心者はPythonで始めるのがおすすめです。エンジニアを目指しているという方は特に。
VBAはEXCELに特化しているためそれ以外の操作はあまり得意ではありません。

よってEXCELを普段使いまくっている人でなければ学ぶ意味は薄いです。

また、EXCELの操作はPythonでもできます。表計算以外でもプログラミングを活用したいと考えている場合はPythonを学んだ方がよいでしょう。

Pythonは機械学習だけでなくアプリやWebなど幅広い分野で活用できます。
初心者でも作れるものは多いのでまずはPythonで学びましょう。

EXCELでしかプログラミングを使わないならVBAもあり

表計算
VBAは表計算に特化した機能もあるのでプログラミングの知識が少なくてもできます。
なので
「プログラミングはEXCELくらいでしか使わないし、そんな深く学ぶ気もない」
という方であればVBAもありですね。

VBAはEXCELに特化した機能が多く用意されているので初心者でも比較的組みやすいです。
ボタンやチェックボックスなどのオブジェクトも簡単に設置できます。

また、VBAではEXCELで操作した内容をコードとして起こすことが可能です。
コードにできない操作も多いですが、どういったコードが書かれるか観察すると勉強の役にも立ちます。

私も最初はVBAでプログラミングを始めました。(正確にはC言語が最初ですがあまり勉強が進まなかったので)

特にVBAにこだわりがあった訳ではないですが、当時はPythonを含めあまり言語を知らなかったので、「EXCELを操作しようと調べているうちにたまたま出会った」という感じです。

C言語では挫折しましたが、VBAでは割と躓くことなく学べました。

VBAは初心者でも学びやすく仕事の効率化にも役に立ちます。
また、EXCELが入っているWindowsなら最初から使うことができるので、手軽にプログラミングを試してみたいという方にはおすすめです。

終わりに

初心者が勉強するならやはりPythonから始めるのがおすすめです。
難易度が低く使える分野も広いためです。初心者でも作れるものが多くあります。

一方のVBAのメリットはインストールしなくても最初から使える点と表計算に特化している点です。
手軽にプログラミングを始めてみたい人や、プログラミングをEXCELくらいでしか使わないという人はVBAからプログラミングを始めるのもありですね。

関連記事>>どちらを学ぶべき?JuliaとPythonを比較

Pythonと他の言語の比較記事>>Pythonと他の言語の比較