こんにちは、SkillStack Lab運営者のスタックです。
「VBAはやめとけ」「今から勉強しても時代遅れ」と聞いて、これから学ぶ意味があるのか迷っていませんか。
すでに会社でマクロを使っていて、「作成者しか直せない」「OfficeやWindowsの環境が変わったら動かなくなった」「エラーが出ると月次業務が止まる」と限界を感じている方もいるでしょう。
結論から言うと、VBAをすべて廃止する必要はありません。
自分や少人数だけが使うデスクトップ版Excelの定型作業で、停止しても会社全体へ大きな影響がなく、別の担当者でも保守できるなら、VBAは現在も有効な選択肢です。
一方、複数部署で使う重要業務、クラウドでの共同作業、大量データ処理、外部サービスとの連携、法改正への継続対応などを、新しくVBAだけで構築することはおすすめしません。
大切なのは「VBAかPythonか」の二択ではなく、Excel関数、Power Query、VBA、Office Scripts、Power Automate、Python、SaaSを業務ごとに使い分けることです。
この記事では、元情シス・現役管理部門長の視点から、VBAが「やめとけ」と言われる理由、2027年問題の正しい捉え方、VBAを残してよい業務、代替手段、既存マクロを安全に移行する方法まで解説します。
- VBAを残してよい業務と移行すべき業務
- 「2027年にVBAが使えなくなる」という情報の正しい考え方
- Power Query・Office Scripts・Power Automate・Python・SaaSの使い分け
- 既存マクロを業務停止させずに移行する手順
Microsoft 365、Windows、Office Scripts、Power Automate、Python in Excelなどの仕様は変更される可能性があります。本記事は2026年9月3日時点で公開されている公式情報を確認しています。
VBAはやめとけ?まず業務別の結論を確認
VBAを続けるか迷ったら、技術の新しさではなく、業務の範囲と停止した場合の影響で判断します。
| 業務の状況 | 第一候補 | 判断 |
|---|---|---|
| 自分だけが使う小規模なExcel操作 | Excel関数・VBA | VBAを継続してよい |
| 同じ形式のCSVやExcelを毎月結合する | Power Query | VBAより先に比較する |
| 帳票作成、書式設定、PDF保存を行う | VBA | VBAが向きやすい |
| Excel操作をチームで共有・再利用する | Office Scripts | 利用環境を確認して比較する |
| メール、承認、Web画面も操作する | Power Automate | Excel外との連携を検討する |
| 大量のCSV、API、複数ファイルを処理する | Python・Power Query | 段階的な移行を検討する |
| 勤怠・会計・請求・問い合わせを複数人で管理する | SaaS・業務システム | 新規VBAだけで作らない |
小さなマクロを「古い技術だから」という理由だけでPythonへ置き換える必要はありません。
ただし、止まると給与、請求、決算、売上、顧客対応へ影響する業務を、特定担当者のExcelファイルだけに依存させることは避けた方がよいでしょう。
スタック元情シスとしては、VBAを残すかどうかを「古いか新しいか」では判断しません。利用人数、停止時の影響、変更頻度、保守できる人数、クラウド対応の必要性で決めるのが実務的です。
Excel作業に合う手段が分からない場合は、VBA・Power Query・Power Automate・PythonなどのExcel自動化方法を比較した記事を先に確認してください。
2027年にVBAが使えなくなるわけではない
「2027年にVBAが廃止される」という情報を見かけることがありますが、Office VBAとWindowsのVBScriptを混同しないことが重要です。
| 技術 | 主な用途 | 現在の状況 |
|---|---|---|
| Office VBA | Excel、WordなどのOfficeアプリ自動化 | Microsoftが現在も公式リファレンスを公開 |
| VBScript | Windows上のスクリプト実行 | 段階的な非推奨化・削除が進行中 |
| Visual Basic/.NET | アプリケーション開発 | Office VBAとは別の開発技術 |
Microsoftは現在もOffice VBAの資料を公開している
Microsoftは現在も、Office VBAやExcel VBAに関する公式リファレンスを公開しています。
2026年9月3日時点で、「2027年にExcel VBAそのものを全面停止する」というMicrosoftの公式発表は確認できません。
参考:Microsoft Learn「Office VBAリファレンス」
2027年前後に既定無効化が予定されているのはVBScript
Microsoftが公開している計画では、WindowsのVBScriptは段階的に廃止されます。
- Phase 1:現在はFeature on Demandとして提供され、既定で有効な期間
- Phase 2:2026〜2027年ごろを目安にFeature on Demandが既定で無効化
- Phase 3:将来のWindowsから完全削除。時期は現時点で未定
Windows IT Proの案内ではPhase 2を「around 2027」としており、後のVBA開発者向け案内では「approximately 2026 or 2027」とされています。いずれにしても、これはWindowsのVBScriptに関する計画であり、Excelなどで使うOffice VBAそのものの全面停止を意味しません。
ただし、VBAから外部の.vbsファイルを呼び出している仕組みや、VBScript.RegExpなどVBScriptへ依存する処理は棚卸しが必要です。
Microsoftは、Windows版Microsoft 365 AppsのVersion 2508以降で、Office VBA側へRegExpクラスを組み込む対応も案内しています。VBScriptの正規表現ライブラリへ依存する既存マクロがある場合は、使用しているOfficeのバージョンも含めて確認してください。
参考:Microsoft 365 Developer Blog「Prepare your VBA projects for VBScript deprecation in Windows」
「VBA終了」と「VBScript終了」は別の話です。
社内で「2027年までに全VBAを廃止しなければならない」と一律判断するのではなく、VBScriptへの依存、Office環境、業務リスクを個別に確認してください。
古いマクロは64ビットOfficeで修正が必要な場合がある
VBAそのものが廃止されなくても、古いマクロがそのまま動き続けるとは限りません。
Windows APIを呼び出すDeclare文などを含むコードは、64ビット版Officeに合わせてPtrSafeやLongPtrを使う修正が必要になる場合があります。
単にPtrSafeを追加するだけでなく、ポインターやハンドルを保持するデータ型も64ビット対応になっているか確認する必要があります。
また、ActiveX、COMアドイン、外部ライブラリなどへ依存している場合は、OfficeやWindows環境の変更時に個別の確認が必要です。
参考:Microsoft Learn「64ビットVisual Basic for Applicationsの概要」
VBAはやめとけと言われる5つの理由
VBAがすぐ使えなくなるわけではありません。
それでも重要業務をVBAだけで新しく構築することが勧められにくいのは、主に運用・保守・セキュリティ上の理由があります。
1.Windows版Officeではインターネット由来のマクロが既定でブロックされる
Windows版の対象Officeアプリでは、インターネットやメールなどから取得した信頼されていないファイルのVBAマクロが、既定でブロックされる仕組みがあります。
これは、マクロを悪用したマルウェアやランサムウェアなどから利用者を守るためのセキュリティ対策です。
社内でVBAを利用する場合は、利用者へ警告を回避させる方法だけを教えるのではなく、管理された保存場所、デジタル署名、アクセス権限、配布方法などを整えることが重要です。
参考:Microsoft Learn「Macros from the internet are blocked by default in Office」
2.コードと業務データが同じファイルに入りやすい
Excel VBAでは、入力データ、計算式、帳票、ボタン、プログラムが一つのブックにまとまることがあります。
- ファイルのコピーが増え、最新版が分からなくなる
- 列やシート名の変更でマクロが動かなくなる
- 誰がコードを変更したか追跡しにくい
- テスト用と本番用のファイルが混在する
- データ破損とプログラム障害を切り分けにくい
VBAコード自体をエクスポートしてバージョン管理する方法はありますが、社内ルールがなければ、担当者のパソコンと共有フォルダーだけで運用されやすい点には注意が必要です。
3.作成者の異動・退職でブラックボックス化する
VBAの問題は、言語の古さだけではありません。
小さなマクロへ機能が追加され続け、数年後には作成者しか処理内容を理解できなくなることがあります。
ただし、これはVBAだけの問題ではありません。
Python、Power Automate、Office Scriptsでも、設計書、コメント、テスト、権限管理、代替担当者がなければ同じように属人化します。
Pythonへ移行するだけでは属人化は解消しません。
技術を置き換えることより、会社がコード、実行環境、アカウント、手順書、バックアップを管理できる状態を作ることが重要です。
4.クラウドや新しいOffice環境では使えない場面がある
VBAは、デスクトップ版ExcelなどのOfficeアプリを細かく操作する用途で力を発揮します。
一方、Excel for the webではVBAマクロを作成・実行・編集できません。
既存のマクロ有効ブックをブラウザで開くことはできますが、VBA自体の実行や編集はデスクトップ版Excelで行う必要があります。
参考:Microsoftサポート「Work with VBA macros in Excel for the web」
new Outlook for WindowsではVBAマクロが使えない
OutlookとVBAを連携している会社は、さらに注意が必要です。
Microsoftは、new OutlookではVBAとマクロをサポートしていないと案内しています。
classic Outlookを前提にした既存の自動化がある場合は、new Outlookへの移行計画とあわせて処理内容を確認してください。
Microsoftは代替手段として、Power Automate、Microsoft Graph、Office.jsなどを案内しています。
参考:Microsoft Learn「VBA, Macros, and Custom Flows Alternatives」
5.Excelの役割を超えた業務まで拡張されやすい
VBAで実現できるからといって、すべての業務をExcelへ残す必要はありません。
- 複数人が同時に入力・更新する
- 閲覧・編集権限を担当者ごとに分ける
- 承認・差し戻し・ステータス管理を行う
- 誰がいつ変更したか履歴を残す
- 個人情報や機密情報を長期間管理する
- 法改正や制度変更へ継続対応する
- ファイルが止まると全社業務へ影響する
勤怠、会計、請求書、経費精算、問い合わせ、顧客管理などは、専用SaaSを使った方が権限・履歴・保守を管理しやすい場合があります。
Excelを残す業務とクラウドサービスへ移す業務は、バックオフィス向け脱Excelツール比較で整理しています。
VBAをやめなくてよいケース
次の条件に当てはまるなら、既存VBAを無理に廃止する必要はありません。
- 利用者が自分または少人数に限られている
- 処理がデスクトップ版Excelを中心に完結する
- 停止しても全社業務へ大きな影響がない
- コードが短く、処理内容を説明できる
- 入力データと出力結果が明確である
- 作成者以外の担当者もコードを確認できる
- バックアップと手作業へ戻す手順がある
- 既存マクロが安定して動作している
| 処理例 | VBAとの相性 |
|---|---|
| シートの作成・削除・並べ替え | 良い |
| 一覧から定型帳票へ転記する | 良い |
| 複数の帳票をPDF保存する | 良い |
| 書式設定や印刷をまとめて実行する | 良い |
| Excelからclassic Outlookを操作する | 利用環境を確認して継続 |
| new Outlookを前提にVBA・マクロを使う | 別の方法を検討 |
| 複数人で勤怠や会計データを管理する | SaaSを優先して比較 |
実務で使える小規模なマクロ例は、Excel便利マクロ集で紹介しています。
「自分の業務ならVBAを残してよい」と判断した方で、コードのコピーではなく基礎から学びたい場合は、UdemyのVBAおすすめ講座比較も参考にしてください。
VBAの代わりになる6つの手段を業務別に比較
VBAの代替手段はPythonだけではありません。
| 手段 | 向いている業務 | 主な注意点 |
|---|---|---|
| Excel関数・テーブル | 計算、検索、判定、簡単な集計 | 複雑な数式は読みにくくなる |
| Power Query | CSV・Excelの取得、結合、整形 | 帳票や画面操作には向かない |
| Office Scripts | Excel操作の記録、再利用、共有、自動化 | ライセンス・保存場所・管理者設定を確認する |
| Power Automate | メール、承認、Web、アプリ間の連携 | ライセンス・実行方式・コネクタを確認する |
| Python | 大量ファイル、CSV、API、データ分析 | 実行環境、配布、権限、保守設計が必要 |
| SaaS・業務システム | 勤怠、会計、請求、問い合わせ、顧客管理 | 費用、移行、現場定着が必要 |
データ結合・整形ならPower Query
支店別ファイルや毎月届くCSVを結合し、不要な列を削除して形式を統一する作業には、Power Queryが向いています。
画面で行った変換手順を保存できるため、翌月はデータを入れ替えて更新できます。
Power Queryの具体的な操作は、Power Queryで複数ファイルを結合・整形する方法で解説しています。
Excel操作の共有・クラウド連携ならOffice Scripts
Microsoft 365環境で、Excelの繰り返し操作を記録して再利用したり、組織内でスクリプトを共有したりしたい場合はOffice Scriptsが候補です。
操作レコーダーで手順を記録し、必要に応じてコードエディターで編集できます。
現在は、条件を満たす環境でExcel for the webだけでなく、Windows版やMac版ExcelでもOffice Scriptsを利用できます。
ただし、利用には対応するMicrosoft 365ライセンス、OneDrive for Business、接続エクスペリエンス、管理者設定などの条件があります。Power Automateと連携する場合も利用条件を確認してください。
参考:Microsoft Learn「Office Scriptsのプラットフォーム要件」
メール・Web・アプリ連携ならPower Automate
Excelだけでなく、メール受信、添付ファイル保存、承認、Teams通知、Web画面への入力まで自動化する場合は、Power Automateが候補です。
特にnew Outlookへの移行を考える場合、VBAだけでなくPower Automateなどの代替手段も比較する価値があります。
ただし、画面操作に依存するデスクトップフローは、アプリやWebサイトの画面構造が変わると修正が必要になることがあります。
また、人が操作する状態での実行と無人実行ではライセンス条件が異なります。
利用環境と運用上の注意点は、Power Automate Desktopの使い方とライセンスの注意点で解説しています。
大量ファイル・API連携ならPython
Pythonは、複数のExcel・CSVファイル処理、API連携、データ分析など、Excelの外へ処理を広げたい場合に有力です。
- Pythonを実行する場所を決める
- 他の担当者への配布方法を決める
- ライブラリのバージョンを管理する
- データやAPIへアクセスする権限を管理する
- 処理結果とエラーをログへ残す
- 作成者以外の保守担当者を決める
これらを設計せず、担当者のパソコンだけで実行すれば、PythonでもVBAと同じ属人化が起こります。
「生成AI時代にPythonまで学ぶ価値があるのか」から迷っている方は、Pythonは時代遅れなのかを実務目線で整理した記事も参考にしてください。
Pythonを学ぶと決めた方は、社会人向けPython学習ロードマップで学習順を確認できます。
Python in ExcelはVBAの完全な代替ではない
「ExcelでPythonが使えるなら、VBAはいらないのでは」と考える方もいるかもしれません。
Python in Excelは、ExcelのセルからPythonを使ってデータ処理、分析、可視化などを行える機能です。
PythonコードはMicrosoft Cloud上の隔離された環境で実行され、利用者のパソコン、デバイス、アカウントへ直接アクセスできず、ネットワークアクセスもありません。
Excelブック内のデータは所定の方法で参照できますが、ローカルファイルやOfficeアプリを自由に操作する一般的なPython実行環境ではありません。
そのため、Python in Excelはデータ分析では有力ですが、セル・シート操作、ローカルファイル処理、Officeアプリ制御などを行うVBAをそのまま置き換える機能ではありません。
標準的なバックオフィス業務ならSaaSも比較する
勤怠、会計、請求書、経費精算、問い合わせ管理のように、市販のサービスが数多く存在する業務は、自社でVBAやPythonを開発する前にSaaSも比較しましょう。
自社独自の競争力にならない標準業務まで、社内担当者が一からシステムを開発・保守し続ける必要があるのかを考えることが大切です。
既存VBAを安全にやめる6ステップ
既存マクロを移行するときは、いきなりファイルを削除したり、すべてをPythonへ書き換えたりしてはいけません。
- マクロを一覧化する
ファイル名、保存場所、作成者、利用者、実行頻度、処理内容を整理します。 - 停止した場合の影響を分類する
個人作業、部門業務、全社業務に分け、停止時の影響を確認します。 - 不要なマクロを廃止する
使われていないもの、重複しているもの、標準機能で代替できるものを整理します。 - 残すマクロを標準化する
コメント、エラー処理、設定値、操作手順、管理者、代替担当者を明確にします。 - 業務に合う代替手段を選ぶ
Power Query、Office Scripts、Power Automate、Python、SaaSなどから選択します。 - 新旧を並行確認する
出力結果、処理時間、エラー、例外処理を比較してから切り替えます。
- 元のVBAファイルとコードのバックアップ
- 正常な入力データと出力結果のサンプル
- 通常処理と例外処理の手順
- 利用者、管理者、保守担当者
- 外部ファイル、ライブラリ、アドインへの依存
- VBScriptやclassic Outlookなどへの依存
- 元の手作業へ戻す方法
移行の目的は、新しい技術を導入した実績を作ることではありません。
業務を止めず、担当者が変わっても継続できる状態を作ることが目的です。
VBAの次に学ぶスキルを選ぶ
次に学ぶ技術は、流行ではなく現在の業務課題から選びます。
| 現在の課題 | 次に学ぶ候補 | 学習方法 |
|---|---|---|
| Excelの集計・整形を改善したい | Power Query | 公式教材、書籍、動画講座 |
| Excelの帳票操作を自動化したい | VBA基礎 | 書籍、Udemy、社内演習 |
| Excel操作を共有・クラウド連携したい | Office Scripts | Microsoft Learn、実務演習 |
| メールやWeb画面も自動化したい | Power Automate | 公式教材、動画講座 |
| 大量ファイル・APIを扱いたい | Python | 無料教材、Udemy、スクール |
| 標準業務を複数人で管理したい | SaaS・業務システム | 比較、資料確認、試用 |
低予算でPythonを試すなら動画講座
Pythonの基礎文法やExcel・CSV処理を試す段階なら、まず動画講座や無料教材から始める方法があります。
講座名に「Python」と書かれているだけで選ばず、ファイル操作、Excel・CSV処理、エラー対応など、自分の目的に近い内容を扱っているか確認してください。
講座の選び方は、非エンジニア向けUdemyのPython講座比較で解説しています。
独学で止まる場合はスクールも比較する
Pythonの基礎は独学でも学べます。
ただし、環境構築やエラー対応で何度も止まる、自分のExcel業務へ応用する方法を相談したい、学習順を管理してほしい場合は、スクール型も候補になります。
スクールを検討する場合も、いきなり1社へ決める必要はありません。教室で直接質問したいのか、オンラインのマンツーマンがよいのか、AI・データ分析まで学びたいのかで候補は変わります。
まずは無料教材や動画講座を試し、自分が独学で止まっている理由を有料サポートで解決できるのかを確認してください。
質問や個別指導が必要だと分かった段階では、社会人向けPythonスクールの比較から、学習内容やサポート方法を確認できます。
まだ「スクールへ料金を払う必要があるのか」自体を判断できない場合は、Python独学・Udemy・スクールの違いから確認してください。
VBAはやめとけに関するよくある質問
まとめ|VBAを捨てず、業務に合う手段を選ぶ
「VBAはやめとけ」という意見には、セキュリティ、属人化、クラウド対応、Office環境への依存、保守負担などの理由があります。
しかし、VBA自体が2027年に全面停止するわけではなく、デスクトップ版Excelの小規模な自動化では現在も有効です。
- Excel内の小規模な操作ならVBAを継続できる
- データの取得・結合・整形ならPower Queryを比較する
- Excel操作の共有やクラウド連携ならOffice Scriptsを検討する
- メール・Web・アプリ連携ならPower Automateを比較する
- 大量ファイル・API連携ならPythonを検討する
- 勤怠・会計・請求・問い合わせ管理はSaaSも比較する
大切なのは、新しい技術へ置き換えること自体ではありません。
業務を止めず、担当者が変わっても安全に運用できる手段を選ぶことです。
まずは、現在のExcel業務がどの方法に向いているかを用途別に確認してください。
\ VBA・Power Query・Pythonなどを比較 /








