LoginSignup
8
22

Excel VBA入門 ~その1 Excel VBAとは~

Last updated at Posted at 2021-10-26

長年VBAを使い続けた結果、とある感情を抱えた人が書いたVBA入門記事その1です。まずはこの記事でVBAの基礎を身に付けて、その後Pythonにステップアップしましょう。→VBAユーザーのためのPython入門 ~xlwingsでExcelからPythonを呼び出す~

記事一覧

Excel VBAとは

Excelにくっついているプログラミング言語。Excelでできるほとんどのことが可能(Power QueryやPower Pivotに関するものは不可)。古臭い。

VBAとPythonの比較

VBA Python 理由
開発環境の準備 VBAはすぐに使えるが、Pythonはアプリのインストールが必要
MS Officeとの連携 Pythonはライブラリーを使えばある程度可能
実行速度 Pythonはライブラリーを使用すれば早い。並列処理も可能。
並列処理 × VBAだとCPUの性能を活かしきれない
言語の柔軟性 × VBAは古すぎて制限が多い。Pythonは現代的なプログラミング機能をひと通り揃えている
新機能追加 × VBAは開発が停止されているが、Pythonは現在も開発されており機能追加されている。
開発環境の使いやすさ × VBAは古いVBEしか使えないが、PythonはVSCodeが使える
開発速度 × Pythonの方が言語の機能やライブラリーが豊富
ライブラリー × VBAにはサードパーティーのライブラリーがほとんどない
応用 × Pythonはライブラリーを活用すればいくらでも応用できる
人気 × VBAは嫌われ言語上位常連、Pythonは好きな言語上位常連
バージョン管理 × VBAは都度モジュールを出力しなければならない

VBAやってはいけない

Excel/VBAは業務ツールのフロントエンドとして使用。データ取り込みはPower Queryで、ロジックを伴う処理はPythonで行うのが効率的。

以下はVBAではやってはいけない:

  • データ取り込み。Power QueryやPythonで行うこと。
  • データ出力。Pythonで行うこと。
  • 統計処理。車輪の再発明になるため。Pythonのパッケージで提供されているので、それを使う。
  • ロジックを伴う処理。Pythonの方が機能が豊富で環境も優れているため。

VBAでやることは以下くらいしかない:

  • PythonやPower Queryの呼び出し
8
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
22