PythonとVBAは、どちらも人気のあるプログラミング言語ですが、それぞれには特性と利点があります。
PythonとVBAのできることの違い
PythonとVBAでできることの違いを以下の表に列挙します。
項目 | Python | VBA |
---|---|---|
Microsoft Officeとの連携 | 〇 (Openpyxlやwin32comで操作可能) | ◎ (ExcelからOutlookまで操作可能) |
Googleアプリとの連携 | 〇 (GoogleスプレッドシートやGmailなどを操作可能) | × (VBAでは対応不可) |
外部アプリとの連携 (slackなど) | ◎ (Pythonは外部アプリとの連携ライブラリが豊富) | △ (VBAで実行できないわけではない) |
アプリ作成 | ◎ (PythonはDjango等で作成可能) | △ (VBAでアプリ作成は聞かない) |
データ分析 | ◎ (Pandasでデータ処理可能) | 〇 (VBAやピボットテーブルで対応可能) |
機械学習 | ◎ (sklearnなどのライブラリが豊富) | △ (VBAでやるのではあまり聞かない) |
PythonとVBAのプログラムの違い
PythonとVBAのプログラムの違いについて紹介します。
Pythonのプログラム記載ルール
- インデント無視できない
- 変数宣言不要
- 使えるライブラリが多い(Excelから機械学習sclearnやウェブスクレイピングBeautifulSoupまで幅広く使用可能)
VBAのプログラム記載ルール
- インデントは無視可能
- 変数宣言が必要
- 使えるライブラリが限られている
PythonとVBAどっちを学ぶべき?
PythonとVBAどちらも学習難易度は低く、すぐに業務に活かすことができるでしょう。導入に関してはどちらも容易ですが、VBAは環境構築の手間要らずでプログラムを書ける点でより初学者向けの言語だと言えます。また、求人数は汎用性の高さからPythonが圧倒しており、将来性に関してもPythonの方が高いというのが現状だと言えるでしょう。
結論
PythonとVBAのどちらを学ぶべきかは、あなたの目的や自動化したい業務範囲によって異なります。しかし、理想的にはPythonとVBAの両方を学ぶことが最善の策と言えるでしょう。