こんにちは、SkillStack Lab運営者のスタックです。
「VBAはやめとけ」「今から勉強しても時代遅れ」と聞いて、これから学ぶ意味があるのか迷っていませんか。
すでに会社でマクロを使っていて、「作成者しか直せない」「Officeの更新後に動かなくなった」「エラーが出ると月次業務が止まる」と限界を感じている方もいるでしょう。
結論から言うと、VBAをすべて廃止する必要はありません。
自分や少人数だけが使うExcelデスクトップ版の定型作業で、停止しても会社全体へ影響しないなら、VBAは現在も有効な選択肢です。
一方、複数部署で使う重要業務、クラウドでの共同作業、大量データ処理、外部サービスとの連携、法改正への継続対応を、新しくVBAだけで構築することはおすすめしません。
大切なのは「VBAかPythonか」の二択ではなく、Excel関数、Power Query、VBA、Office Scripts、Power Automate、Python、SaaSを業務ごとに使い分けることです。
この記事では、元情シス・現役管理部門長の視点から、VBAがやめとけと言われる理由、2027年問題の正しい捉え方、VBAを残してよい業務、代替手段、既存マクロを安全に移行する方法まで解説します。
- VBAを残してよい業務と、移行すべき業務
- 「2027年にVBAが使えなくなる」という情報の考え方
- Power Query・Power Automate・Python・SaaSの使い分け
- 既存マクロを業務停止させずに移行する手順
この記事には広告・アフィリエイトリンクが含まれます
ただし、VBAを否定してPythonスクールへ誘導する記事ではありません。Excel業務の内容によっては、VBAを継続した方が早く、負担も小さい場合があります。
VBAはやめとけ?まず業務別の結論を確認
VBAを続けるか迷ったら、技術の新しさではなく、業務の範囲と停止した場合の影響で判断します。
| 業務の状況 | 第一候補 | 判断 |
|---|---|---|
| 自分だけが使う小規模なExcel操作 | Excel関数・VBA | VBAを継続してよい |
| 同じ形式のCSVやExcelを毎月結合する | Power Query | VBAより先に比較する |
| 帳票作成、書式設定、PDF保存を行う | VBA | VBAが向きやすい |
| Excel for the webで処理を共有する | 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とVBScriptを混同している可能性があります。
| 技術 | 主な用途 | 現在の考え方 |
|---|---|---|
| Office VBA | Excel、Word、Outlookなどの自動化 | Microsoftが公式リファレンスを公開している |
| VBScript | Windows上のスクリプト実行 | 段階的な非推奨化・廃止が予定されている |
| Visual Basic/.NET | アプリケーション開発 | Office VBAとは別の開発環境 |
Microsoftは現在もOffice VBAの資料を公開している
Microsoftは現在も、Office VBAとExcel VBAの公式リファレンスを公開しています。
現時点で、「2027年にExcel VBAを全面停止する」というMicrosoftの公式発表は確認できません。
参考:Microsoft Learn「Office VBAリファレンス」
2027年ごろに既定で無効化される予定なのはVBScript
Microsoftが公開している計画では、WindowsのVBScriptは段階的に非推奨化されます。
- Windows 11 バージョン24H2以降、オンデマンド機能として提供する
- 2027年ごろ、既定では有効にしない状態へ移行する
- その後のWindowsで完全に削除する
これはWindowsのVBScriptに関する計画であり、Excelなどで使うOffice VBAの全面停止を意味しません。
参考:Microsoft公式「VBScript deprecation: Timelines and next steps」
古いマクロは64ビットOfficeで修正が必要な場合がある
VBAそのものが廃止されなくても、古いマクロがそのまま動き続けるとは限りません。
Windows APIを呼び出すDeclare文などを含む古いコードは、64ビット版Officeに合わせてPtrSafeやLongPtrを使う修正が必要になる場合があります。
また、ActiveX、COMアドイン、外部ライブラリなどへの依存がある場合は、OfficeやWindowsの更新時に個別確認が必要です。
参考:Microsoft Learn「64ビットVBAの概要」
VBAはやめとけと言われる5つの理由
VBAがすぐ使えなくなるわけではありません。
それでも重要業務をVBAだけで新しく構築することが勧められにくいのは、運用上の問題があるためです。
インターネット由来のマクロは既定でブロックされる
Microsoft 365 Appsでは、インターネットやメールなどから取得した、信頼されていないOfficeファイルのVBAマクロが既定でブロックされます。

これは、マクロを悪用するマルウェアやフィッシング攻撃から利用者を守るための対策です。
社内でVBAを使う場合は、メールやチャットでファイルを配布し、利用者ごとに警告を回避させる運用ではなく、管理された保存場所、デジタル署名、アクセス権限、配布ルールを整える必要があります。
参考:Microsoft公式「Macros from the internet are blocked by default in Office」
コードと業務データが同じファイルに入りやすい
Excel VBAでは、入力データ、計算式、帳票、ボタン、プログラムが1つのブックにまとまることがあります。
- ファイルのコピーが増え、最新版が分からなくなる
- 列やシート名の変更でマクロが動かなくなる
- 誰がコードを変更したか追跡しにくい
- テスト用と本番用のファイルが混在する
- データ破損とプログラム障害を切り分けにくい
コードをエクスポートしてバージョン管理することはできますが、社内ルールがなければ、担当者のパソコンと共有フォルダーだけで運用されがちです。
作成者の異動・退職でブラックボックス化する
VBAの問題は、言語の古さだけではありません。
小さなマクロへ機能が追加され続け、数年後には作成者しか処理内容を理解できなくなることがあります。
Python、Power Automate、Office Scriptsでも、設計書、コメント、テスト、権限管理、代替担当者がなければ同じように属人化します。
Pythonへ移行するだけでは属人化は解消しない
技術を置き換えることより、会社がコード、実行環境、アカウント、手順書、バックアップを管理できる状態を作ることが重要です。
クラウドや共同作業への対応範囲が限られる
VBAは、デスクトップ版のExcel、Word、Outlookを操作する用途で力を発揮します。
一方、Excel for the webでは、VBAマクロを作成、実行、編集できません。
クラウド上の共有ブックで処理を実行したい場合は、Office ScriptsやPower Automateなども比較する必要があります。
参考:Microsoftサポート「Excel for the webでVBAマクロを操作する」
Excelの限界を超えた業務まで拡張されやすい
VBAで実現できるからといって、すべての業務をExcelへ残す必要はありません。
- 複数人が同時に入力・更新する
- 閲覧・編集権限を担当者ごとに分ける
- 承認・差し戻し・ステータス管理を行う
- 誰がいつ変更したか履歴を残す
- 個人情報や機密情報を長期間管理する
- 法改正や制度変更へ継続対応する
- ファイルが止まると全社業務へ影響する
勤怠、会計、請求書、経費精算、問い合わせ、顧客管理などは、専用SaaSを使った方が権限・履歴・保守を管理しやすい場合があります。
Excelを残す業務とクラウドサービスへ移す業務は、バックオフィス向け脱Excelツール比較で整理しています。
VBAをやめなくてよいケース
次の条件に当てはまるなら、既存VBAを無理に廃止する必要はありません。
- 利用者が自分または少人数に限られている
- 処理がExcel、Word、Outlookのデスクトップ版で完結する
- 停止しても全社業務へ影響しない
- コードが短く、処理内容を説明できる
- 入力データと出力結果が明確である
- 作成者以外の担当者もコードを確認できる
- バックアップと手作業へ戻す手順がある
- 既存マクロが安定して動作している
| 処理例 | VBAとの相性 |
|---|---|
| シートの作成・削除・並べ替え | 良い |
| 一覧から定型帳票へ転記する | 良い |
| 複数の帳票をPDF保存する | 良い |
| 書式設定や印刷をまとめて実行する | 良い |
| ExcelからWord・Outlookを操作する | 用途を限定すれば候補 |
| 複数人で勤怠や会計データを管理する | SaaSを優先して比較 |
実務で使える小規模なマクロ例は、Excel便利マクロ集で紹介しています。
コードのコピーではなく基礎から学びたい方は、UdemyのVBAおすすめ講座比較も参考にしてください。
VBAの代わりになる手段を業務別に比較
VBAの代替手段はPythonだけではありません。
| 手段 | 向いている業務 | 主な注意点 |
|---|---|---|
| Excel関数・テーブル | 計算、検索、判定、簡単な集計 | 複雑な数式は読みにくくなる |
| Power Query | CSV・Excelの取得、結合、整形 | 帳票操作や画面操作には向かない |
| VBA | セル、シート、帳票、印刷、PDF保存 | デスクトップ版への依存と属人化に注意 |
| Office Scripts | Excel for the webの定型操作 | ライセンスと管理者設定の確認が必要 |
| Power Automate | メール、承認、Web、アプリ間の連携 | 実行方式やコネクタで条件が異なる |
| Python | 大量ファイル、CSV、API、データ分析 | 実行環境、配布、権限、保守設計が必要 |
| SaaS・業務システム | 勤怠、会計、請求、問い合わせ、顧客管理 | 費用、移行、現場定着が必要 |
データ結合・整形ならPower Query
支店別ファイルや毎月届くCSVを結合し、不要な列を削除して形式を統一する作業には、Power Queryが向いています。
画面で行った変換手順を保存できるため、翌月はデータを入れ替えて更新できます。
参考:Microsoft Learn「Power Query」
クラウド版ExcelならOffice Scripts
Excel for the webで定型操作を共有したい場合は、Office Scriptsが候補です。
操作レコーダーで手順を記録したり、スクリプトを編集したりでき、Power Automateから実行することもできます。
利用できる機能はMicrosoft 365の契約や管理者設定によって異なるため、導入前に自社環境を確認してください。
参考:Microsoft Learn「ExcelのOffice Scripts」
メール・Web・アプリ連携ならPower Automate
Excelだけでなく、メールの受信、添付ファイルの保存、承認、Teams通知、Web画面への入力まで自動化する場合は、Power Automateが候補です。
ただし、画面操作に依存するフローは、アプリやWebサイトの画面構造が変わると停止することがあります。
利用環境と運用上の注意点は、Power Automate Desktopの使い方とライセンスの注意点で解説しています。
大量ファイル・API連携ならPython
Pythonは、複数のExcel・CSVファイル処理、API連携、データ分析など、Excel外へ処理を広げたい場合に有力です。
- Pythonを実行する場所を決める
- 他の担当者への配布方法を決める
- ライブラリのバージョンを管理する
- データやAPIへアクセスする権限を管理する
- 処理結果とエラーをログへ残す
- 作成者以外の保守担当者を決める
これらを設計せず、担当者のパソコンだけで実行すれば、PythonでもVBAと同じ属人化が起こります。
これから学ぶ方は、社会人向けPython学習ロードマップで学習順を確認してください。
Python in ExcelはVBAの完全な代替ではない
Python in Excelは、ExcelのセルからPythonを使ってデータ分析や可視化を行う機能です。
計算はMicrosoft Cloud上で実行され、ローカルパソコンのファイルやネットワークへ自由にアクセスする仕組みではありません。
そのため、Python in Excelは分析用途では有力ですが、ローカルファイルの操作やOfficeアプリの制御を行うVBAの代わりとして、そのまま置き換えられるものではありません。
標準的なバックオフィス業務ならSaaS
勤怠、会計、請求書、経費精算、問い合わせ管理のように、市販のサービスが存在する業務は、自社でVBAやPythonを開発する前にSaaSを比較しましょう。
会社独自の競争力にならない標準業務まで、社内担当者が一から開発・保守する必要はありません。
既存VBAを安全にやめる6ステップ
既存マクロを移行するときは、いきなりファイルを削除したり、すべてをPythonへ書き換えたりしてはいけません。
- マクロを一覧化する
ファイル名、保存場所、作成者、利用者、実行頻度、処理内容を整理します。 - 停止した場合の影響を分類する
個人作業、部門業務、全社業務に分け、停止時の影響を確認します。 - 不要なマクロを廃止する
使われていないもの、重複しているもの、標準機能で代替できるものを整理します。 - 残すマクロを標準化する
コメント、エラー処理、設定値、操作手順、管理者、代替担当者を明確にします。 - 業務に合う代替手段を選ぶ
Power Query、Office Scripts、Power Automate、Python、SaaSから選択します。 - 新旧を並行稼働する
出力結果、処理時間、エラー、例外処理を比較してから切り替えます。
移行前に残しておく情報
- 元のVBAファイルとコードのバックアップ
- 正常な入力データと出力結果のサンプル
- 通常処理と例外処理の手順
- 利用者、管理者、保守担当者
- 外部ファイル、ライブラリ、アドインへの依存
- 元の手作業へ戻す方法
移行の目的は、新しい技術を導入した実績を作ることではありません。
業務を止めず、担当者が変わっても継続できる状態を作ることが目的です。
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業務へ応用する方法を相談したい、学習順を管理してほしい場合は、スクール型も候補です。
受講前に自分の業務へPythonが必要か確認する
Winスクールでは、Python、AI、データ分析などの講座について受講相談が案内されています。
相談する際は、Python講座の説明だけでなく、次の点を確認してください。
- 現在の業務はPower QueryやVBAで解決できないか
- 受講後に作れる成果物は何か
- 必要な学習期間と週当たりの学習時間
- オンライン・通学・予約方法
- 質問対応と個別指導の範囲
- 利用できる給付制度と対象条件
- 受講料以外に必要な費用
無料相談は契約を決める場ではなく、現在の業務と受講内容が合うかを確認する場として利用しましょう。
\ VBAの次に学ぶ内容を相談 /
VBAはやめとけに関するよくある質問
VBAは本当に時代遅れですか?
Excelデスクトップ版の自動化では、現在も利用できます。
ただし、クラウド共有、大量データ、複数サービス連携、複数人での重要業務には、ほかの手段が適する場合があります。技術の年齢ではなく、業務条件で判断してください。
2027年にExcel VBAが使えなくなりますか?
Microsoftが2027年ごろに既定で無効化する計画を示しているのは、WindowsのVBScriptです。
Office VBAの全面停止を意味する発表ではありません。ただし、VBScript、古いAPI、ActiveX、COMライブラリに依存する仕組みは個別に棚卸ししてください。
PythonはVBAより必ず速いですか?
必ず速いとは限りません。
小規模なExcel画面操作ではVBAの方が簡単な場合があります。大量データや複数ファイル処理では、Power QueryやPythonが適する可能性があります。
生成AIがあればVBAを学ぶ必要はありませんか?
生成AIはコード作成やエラー調査を支援できますが、出力されたコードが正しいとは限りません。
業務ルール、権限、セキュリティ、例外処理、削除・上書きの影響を理解し、人が検証する必要があります。
既存VBAはすべてPythonへ書き換えるべきですか?
安定して動き、影響範囲が小さく、複数人が保守できるマクロまで書き換える必要はありません。
停止時の影響が大きいもの、クラウド共有が必要なもの、外部連携が増えているものから優先して移行します。
これからVBAを勉強する意味はありますか?
Excelを多く使う職場では意味があります。
ただし、VBAだけを長期間学ぶのではなく、Excel関数、Power Query、データ設計、エラー処理、セキュリティも一緒に学ぶ方が実務へ応用しやすくなります。
まとめ|VBAを捨てず、業務に合う手段を選ぶ
「VBAはやめとけ」という意見には、セキュリティ、属人化、クラウド対応、64ビット互換性、保守負担などの理由があります。
しかし、VBA自体が2027年に全面停止するわけではなく、Excelデスクトップ版の小規模な自動化では現在も有効です。
- Excel内の小規模な操作ならVBAを継続できる
- データの取得・結合・整形ならPower Queryを比較する
- クラウド版ExcelならOffice Scriptsを検討する
- メール・Web・アプリ連携ならPower Automateを比較する
- 大量ファイル・API連携ならPythonを検討する
- 勤怠・会計・請求・問い合わせ管理はSaaSを優先する
大切なのは、新しい技術へ置き換えることではありません。
業務を止めず、担当者が変わっても安全に運用できる手段を選ぶことです。
まずは、現在のExcel業務がどの方法に向いているかを用途別に確認してください。
\ VBA・Power Query・Pythonを用途別に比較 /
