Excel操作の自動化は、ExcelVBA以外でも
できます!
※pythonやC#、power shell等でもできます。
ですがExcel操作の自動化ならば、
ExcelVBAが一番良いです!
※pythonやC#、power shell等よりExcelVBAが良いです。
なぜならExcelVBAには
・他のプログラミング言語には無い絶対的なメリットがある
ためです!
※pythonやC#、power shell等は無い絶対的なメリットがあります。
ExcelVBAの絶対的なメリットとは
・ほぼ全てのExcel操作を実現できる
・VBA関数、ワークシート関数を使用できる
ことです!
ほぼ全てのExcel操作を実現できる
1つ目のExcelVBAの絶対的なメリットとして、
・ほぼ全てのExcel操作を実現できる
があります。
例えば以下で紹介する「Excelの機能を使用したプログラム」は、私が確認した限り
・ExcelVBAでは実現可能ですが、
・ExcelVBA以外のプログラミング言語では実現不可、または実現方法の調査が難しい
です。
※あくまで私が確認した限りです。
●ExcelVBAからExcelの機能を使用して、スライサーを作成する
●ExcelVBAからExcelの機能を使用して、標準モジュールをエクスポートする
●ExcelVBAからExcelの機能を使用して、Web上の表のデータを取得する
●ExcelVBAからExcelの機能を使用して、QRコードを作成する
VBA関数、ワークシート関数を使用できる
2つ目のExcelVBAの絶対的なメリットとして、
・VBA関数、ワークシート関数を使用できる
があります。
具体的には以下の関数を使用できます。
私が確認した限り、「ExcelVBA以外のプログラミング言語」はVBA関数、ワークシート関数を使用できません。
※プログラムの中で使用できません。
※セルにワークシート関数を設定することは「ExcelVBA以外のプログラミング言語」でもできます。
※あくまで私が確認した限りです。
比較する以外に方法は無い
物事のメリット/デメリットを知るには、比較する以外に方法はありません。
例えばExcelVBAのメリット/デメリットを知りたいならば、
・「ExcelVBA」と「ExcelVBA以外のプログラミング言語」を比較
しなければなりません。
比較することでのみ、「ExcelVBAにだけ存在するモノ(=ExcelVBAのメリット)」を知ることができる。
ExcelVBAのメリット/デメリットを記載しているサイトは多々ありますが、比較方法 or 比較結果が記載されているサイトはあまり見かけません。
比較方法 or 比較結果が記載されていないサイトの内容は、信頼性が低いと私は考えます。
※例えば「ExcelVBAは処理速度が遅い」と主張するならば、「他のプログラミング言語との処理速度の比較結果」を示すべきと思います。
参考図書
比較することの大切を書籍「英文法を撫でる」で学びました。
この書籍では「現代の英文法」を知るために
・「現代の英文法」と「古来の英語(古英語)の英文法」を比較
・「現代の英文法」と「別の言語(ドイツ語等)の文法」を比較
しています。