自動化の相談で、最初から「VBAで作ってください」と決める必要はありません。方法を先に固定すると、簡単な作業を複雑にしたり、使う環境に合わない仕組みになったりします。
入力、処理、出力、実行場所を整理し、それぞれに向く方法を組み合わせるのが基本です。
セルの計算は関数、取り込みと整形はPower Query、Excelの操作や帳票処理はVBA、Googleサービス間の連携はGASが目安です。実務では、一つだけでなく組み合わせることがあります。
作業を四つに分けて考える
方法名を比べる前に、セル計算、データの取り込み、Excel操作、サービス連携のどこに時間がかかっているかを分けます。
- 数式で済む計算と、クリック操作が混ざっている
- 複数CSVを整形してから帳票を作る
- Windows以外の利用者がいる
- GoogleフォームやGmailと連携する
- ブラウザーだけで実行したい
- 組織のマクロ制限がある
各方法の役割を比べる
- 1計算か操作かを分ける
セルの値を求めるのか、ファイル操作をするのかを区別します。
- 2データの場所を決める
Excel、ローカルフォルダー、Google Driveなどを確認します。
- 3実行者とタイミングを決める
ボタン、更新、時刻、メール受信などを整理します。
方法名より実行環境を優先する
関数は結果がセル上で見え、少量の計算には分かりやすい方法です。Power Queryは取り込み・整形手順を保存して更新できます。VBAはExcel内の操作、ファイル保存、印刷などをまとめやすい一方、実行環境とセキュリティを確認する必要があります。
GASはGoogle Workspace上のサービスを連携できます。Microsoft 365環境ではOffice Scriptsという選択肢もあるため、ブラウザー運用や組織の契約条件を含めて提案を受けるとよいでしょう。
| 候補 | 向いている場面 | 注意点 |
|---|---|---|
| 関数 | 計算・参照・判定をセル内で完結 | 式が増えすぎると保守しにくい |
| Power Query | 取り込み、整形、結合、更新 | 画面操作や帳票出力は別手段 |
| VBA | Excel操作、ファイル、印刷、帳票 | デスクトップ環境と安全性を確認 |
| GAS | Sheets、Gmail、Drive、Forms連携 | Google環境と権限管理が前提 |
| Office Scripts | Excelの定型操作をクラウド側でも共有 | 利用条件・対応環境を確認 |
作業と利用環境を伝え、技術名は固定しない
使うファイル、利用者の環境、実行のきっかけ、保存・通知まで必要かをまとめると、方法を選びやすくなります。
- 現在の作業手順
- 利用者のOSとExcelの種類
- データの保存場所
- ボタン実行か自動実行か
- 社内のマクロ・クラウド利用制限
処理がExcelの外まで続くとき
- 方法の違いを自社で判断できない
- Excelとメールやクラウドをまたぐ
- 複数環境で使う必要がある
- 将来の変更や保守も含めて設計したい
有名な方法や作る人の得意技だけで決めない
- 有名な方法だけで決める
- 作る人の得意技だけで方法を選ぶ
- Excel for the webでVBAが動く前提にする
- 処理速度だけで保守性を見ない
よくある疑問
VBAは古いので使わない方がよいですか?
既存Excelやデスクトップ操作では今も有力です。ただし、ブラウザー・共同編集・組織の制限が重要なら別の方法と比較します。
Power Queryでボタン操作もできますか?
主にデータの取り込みと整形に向きます。印刷、ファイルごとの保存、画面操作などはVBA等と組み合わせることがあります。
GASでExcelを操作できますか?
GASは主にGoogle Workspace上で使います。Excelファイルを扱うことはあっても、VBAの代わりとしてそのままExcelデスクトップを操作するものではありません。