エクセルVBA

【エクセル業務】VBAとPythonの比較。勉強するならどっち?

Python エクセルVBA

本記事では、

「エクセル業務でVBAとPythonを勉強するならどっちがいい?」

「エクセル業務でVBAとPythonを使った感想を教えて」

という疑問にお答え致します。

こんにちは。エクセル業務でVBAとPythonを使用しているインプロです。

今回は実際にVBAとPythonを使用した詳細な感想やどっちがおすすめなのかを記事にしようと思います。

VBAとPythonの比較

プログラムを学ぶやすいのはPython

プログラムを覚えるという点で難易度が低いのはPythonの方と思います。

理由は、コードを記載するときに、より簡単にコード記入ができるからです。

いちいちデータ型などを指定する必要がありません。

しかし、エクセル業務のために、プログラムを学ぶことを考えるならば、VBAの方が楽です。

理由はVBAを学ぶツール(本や動画講座)が非常に多く揃っていることや、エクセル自体に組み込まれているので直感的な操作を通して学びやすいです。

エクセル業務をする点ではVBA

エクセルをプログラムで動かすことを考えるとVBAの方が楽です。

理由は、Pythonは外部ソフトでエクセルをいじりますので、環境構築から始まり、デバッグ(バグだし)に至るまで面倒ですし、Pythonでエクセルを動かす情報はまだ十分ではないと思います。

VBAの場合、エクセルに付属しているので、「マクロの記録」から「コードの記入」まで情報が非常に多く学びやすいと思います。書籍も多数出ていると思います。

また、エクセルVBA付属デバッガーが優秀で、プログラムをミスった場合にどこで記入ミスをしたのかなど、非常にわかりやすいです。

処理速度が早いのはPython

処理速度が早いのはPythonです。エクセルを開くことなく処理するのでかなり早いです。(他にも理由はあると思います。)

ただし、技術者でもない限りは、VBAでそんなに遅く感じことはないと考えます。

私は膨大な実験データを拾ってきて、計算とグラフ化まで行うので、ちょっと重く感じてしまいます。

社内で共有するならVBA

作ったプログラムを社内で共有して、誰でも使えるようにするならVBAの方が有利です。

理由はVBAはエクセルファイルの保存形式を変えるだけで誰でも使えるからです。エクセルは多くの人のパソコンにインストールされていると考えられるため、配布しやすいです。

一方で、Pythonでプログラムを共有する場合、その共有された人もPythonをインストールしないといけないので、作った人だけが便利なプログラムになります。いわゆる、社内レガシー化しやすいです。

また、ディープラーニングなどでPythonが普及しているとは言え、Pythonで作ったエクセルプログラムを社内共有しているところをいままでみたことがありません。

どっちを学ぶべきか?

Pythonに向いている人

技術者やエクセル以外の業務をやりたい人は、Pythonを学ぶべきと思います。

理由はPythonを学んでおけば、その後プログラムに応用が効くからです。例えば、自動打刻やスクレイピング、ディープラーニングなどはPythonの方がやりやすいです。

いちいちエクセルVBAを学んでからPythonを学ぶと、Pythonのコードに慣れるのに少し時間がかかります。

VBAを知っていれば、Pythonはある程度理解できますが。

VBAに向いている人

VBAを学ぶ人に向いているのは、エクセル業務中心の人です。プログラム自体はPythonの方が簡単ですが、エクセル業務に使用するにはVBAの方が向いています。

使ったプログラムそのままエクセルに記入されるので、わかりやすさも抜群です。

また、VBAはエクセルだけのものと思っている人もいますが、パワーポイントやワードでも使えます。

実験で撮影した膨大な写真をパワーポイントに一気に貼り付けるなんてこともできます。

しかも、調べたら誰かのサンプルコードがネット上に落ちていることがあります。気に入らなかったら、少しコードをいじるだけです。

Officeを使った業務全般にVBAは使えるのでおすすめです。また、VBAがわかるようになれば、PythonやC言語など他の言語を学びやすいと思います。

逆にPythonを学んでから別の言語を学ぼうとすると、他の言語の面倒さにイラッとすることがあると思います。

エクセル業務ではどっちを使うべき?

やはりVBAの方が楽です。

私が楽だと思うのは、デバッグが優秀で楽なのと、先人の情報がWEB上の至るところに落ちているので苦労することがあまりないです。

一時期、エクセルにPythonが組み込まれると噂されていましたが、まだ実現されていません。

エクセル処理に勉強におすすめ本

VBAの本

インプレスブックスの「できる イラストで学ぶ 入社1年目からのExcel VBA」から勉強することをおすすめします。

こちらも、kindle unlimited(1ヶ月無料)利用すれば、1ヶ月無料の読み放題対象商品です。この人気本が一ヶ月無料で読めるのはちょっとびっくりです。上で本と合わせて紹介している本と合わせて勉強するのもありです。

本書は、VBAの文法、語彙、作文力を1冊で効率的に身に付けられる入門書です。キャラクター会話やイラストを豊富に用いており、つまずきがちな項目もかみ砕いて解説しています。

会話やイラストなどが理解を助けてくれるため、初心者の方でも途中で引っかかることなく、最後まで着実に読み進められます。

以下の記事も参考にしてみてください。

vba
【初心者】エクセルVBA(マクロ)独学のおすすめ本(参考書)12冊を紹介!【脱初心者】本記事は、 「エクセルVBA初心者向けのおすすめ本について紹介して欲しい。」 「独学で初めてExcelマクロを学習するんだけ...

Pythonの本

現在、以下のような方が出版されています。いずれもopenxmlを使って、外部からエクセルを操作します。

「めんどうな作業が秒速で終わる! Excel×Python自動化の超基本」

「Pythonでかなえる Excel作業効率化」

「Excel×Python最速仕事術」(プログラムを最初に勉強するには難しいです。)

 

以下、Pythonでエクセル以外の操作も可能になります。

「PythonでExcel、メール、Webを自動化する本」

「できる 仕事がはかどるPython&Excel自動処理 全部入り。 全部入り。」

「退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング」(分厚い本ですが、詳しくてわかりやすいのでおすすめです。)