ここ数年で選択肢が増加!
Excel処理を自動化する4つの方法

10年ほど前まで、Excelのデータを自動処理する方法は、Excelが搭載するマクロ機能に限られていました。しかし、Excelファイルの形式が「XLS」から「XLSX」になり、業界標準のXMLをベースにしたデータ形式に変更されると、外部アプリケーションやプログラムからも自由にExcelファイルを扱えるようになりました。

さらに、データの保存場所やアプリケーションの実行環境のクラウド化や、RPAと呼ばれる自動化ツールの普及などにより、Excelの作業を自動化する新たな方法が続々と生まれています。ここでは、現在使われている主なExcelの自動化技術を紹介します。

Excel VBA

Excelマクロを記述するためのプログラミング言語「Excel VBA」は、現在最も使われているExcel自動化技術です。VBAは基本的な仕様が20年以上変更されていないため、一度作ったマクロは最新のExcelでもほとんど変更せずに使えるのが利点です。ただし、Microsoft 365で利用できるWeb版(クラウド版)のExcelでは、VBAで作ったマクロが利用できないため、今後Web版との互換性問題が生じる可能性があります。

Python

Excelファイルを編集できるライブラリ「openpyxl」の登場により、PythonがExcel自動化の環境として注目を浴びています。Pythonを使う最大の利点は、⁠Pythonが動く環境ならどこでもExcelデータを処理できる」点です。Excelを購入する必要がなく、WindowsだけでなくMacやLinuxでも使え、クラウド環境でも利用できます。また、話題のChatGPTなどの生成AIとの親和性も高いため、近い将来最も使われるようになる可能性があるでしょう。

RPA

RPAは「Robotic Process Automation」の略で、キー入力やマウスクリックなどの操作を自動で行うツールを使って、人間の定型的な作業を肩代わりすることです。Excelデータを直接編集する技術ではありませんが、ExcelだけでなくPC上のすべての操作を自動化できることが利点です。反面、処理速度は遅いため、大量の繰り返し作業には向きません。

クラウド

Microsoft 365やGoogle Workspaceなどのクラウドベースのオフィス環境では、クラウド上のすべての処理を自動化することができます。Microsoft 365の場合、Power Automateによる操作の自動化やOfficeスクリプトによるマクロ作成が可能です。Google Workspaceでは、Google App Scriptですべての処理を自動化できます。ただし、ローカルPC環境などのクラウド外では利用できないという欠点があります(最新のExcelではOfficeスクリプトを利用可能⁠⁠。

以上、4つの自動化技術を比較すると、互換性や汎用性、将来性の面で、Pythonが優れていることがわかります。これから新しくExcelデータの自動化ツールを作成する際や、古いExcelマクロを作り替える際には、ぜひPython環境での開発を検討してみてください。