ExcelマクロをChatGPTに書かせて、コードは完成したのに一度も動かない。その原因の多くはコードの外、つまり自分のパソコンの設定側にあります。
壁は4つあり、そのうち2つは自分で越えられますが、残り2つは自分の権限では越えられません。有効化の手順を検索して1時間溶かす前に、どちらの壁に当たっているのかを先に判定してください。越えられない側なら、Googleスプレッドシートに置き換えた方が早く終わります。
先に結論
- 壁は4つ。保存形式・インターネット由来ファイルのブロック・会社の管理者による制限・ブラウザ版Excelでは実行不可
- 自力で越えられるのは前の2つだけ。管理者の制限とブラウザ版の制約は、設定を変える権限が自分にない
- GAS(Google Apps Script)に置き換えると4つとも消える。ブラウザとGoogleアカウントだけで動くため
- 外注の相場は両者で同じ。ココナラ実測でExcel VBAは4,949件・上位60件の最低価格が中央値6,000円、GASは2,187件・同じく中央値6,000円
- 価格が同じなら、動く確率が高い方を選ぶのが得です
コード自体のエラーで止まっている場合はChatGPTに書かせたGASが動かない原因は5つ、無料版の制限に当たっている場合はChatGPT無料版でできないこと一覧にそれぞれまとめています。この記事はExcelマクロ特有の、環境側の壁だけを扱います。
ChatGPTが書いたマクロが動かない4つの壁
壁1:.xlsx で保存するとマクロは消える
金曜にボタンを作って動作確認まで終えたのに、月曜に開いたらボタンが何も反応しない。この場合、コードは壊れたのではなく、保存時に落ちています。
Excelはマクロを含むブックを標準形式で保存しようとしたとき、「マクロなしのブックには、VBプロジェクトやXMLシートは保存できません」と表示します。ここで気にせず進めると、シートだけが残ってコードは保存されません。マクロを残すには、ファイルの種類をマクロ有効ブック(.xlsm)に変えて保存する必要があります。
ChatGPTは「保存してください」までしか案内しないことがあり、拡張子の指定が抜けやすい箇所です。
壁2:メールやダウンロードで受け取ったファイルは、マクロがブロックされる
月曜の朝、取引先から届いたxlsmを開くと、黄色い警告バーが出てマクロが動きません。Microsoftのサポートには、この状態で表示される文言が「ファイルのソースが信頼されていないため、Microsoft はマクロの実行をブロックしました」と書かれています。
インターネット経由で入手したファイルのマクロは、既定でブロックされる仕様です。自分で書いたコードでも、いったんメールやクラウド経由でパソコンに戻すと同じ扱いになります。
解除の手順は、エクスプローラーでファイルを右クリック → プロパティ → 「全般」タブ下部の「ブロック解除」にチェック → OK。
この壁は自分で越えられます。有効化の設定をあちこち触る前に、まずファイルのプロパティを見てください。
壁3:会社のパソコンでは、管理者が止めている
表示される文言が「管理者がマクロの使用を制限しました」であれば、話が変わります。Microsoftのサポートでも、この場合は組織の管理者による制限として案内されています。
つまり、自分のExcelの設定をどう変えても動きません。情報システム部門に申請して例外扱いにしてもらうか、諦めるかの二択です。ここで「マクロ 有効化」を検索し続けても答えは出ません。
壁4:ブラウザ版のExcelでは、そもそも実行できない
Excel for the web(ブラウザで開くExcel)では、VBAマクロの作成・実行・編集ができません。マクロを含むブックを開いて編集すること自体はでき、マクロもファイルの中に残りますが、実行にはデスクトップ版のExcelが要ります。
SharePointやTeamsのリンクからそのまま開いて「ボタンが出ない」「押しても何も起きない」という場合は、この壁です。
越えられる壁と、越えられない壁の見分け方
出ているメッセージと状況で、どの壁かはその場で判定できます。
| 症状・表示されている文言 | どの壁か | 自分で越えられるか |
|---|---|---|
| 保存して開き直すとコードが消えている | 保存形式(.xlsx) | 越えられる(.xlsmで保存) |
| 「ファイルのソースが信頼されていないため…」 | インターネット由来のブロック | 越えられる(プロパティでブロック解除) |
| 「管理者がマクロの使用を制限しました」 | 会社の管理者設定 | 越えられない(情シスへ申請) |
| ブラウザで開いていて、ボタン自体が無い | ブラウザ版Excelの制約 | 越えられない(デスクトップ版が要る) |
下2つに当たっている場合、ChatGPTに何度コードを直させても状況は変わりません。プランを上げても同じです。
GASに置き換えると、4つとも消える
Google Apps Scriptは、Googleスプレッドシートに付いている自動化の仕組みです。同じ「表計算の自動化」でも、動く場所が違うので壁の種類が変わります。
| 項目 | Excel VBA | GAS |
|---|---|---|
| 保存形式 | .xlsm でないとコードが消える | 保存形式の概念が無い(自動保存) |
| 受け取ったファイルのブロック | 既定でブロックされる | 起きない |
| 実行場所 | デスクトップ版Excelが要る | ブラウザだけで動く |
| 定期実行 | Excelを開いていないと動かない | トリガー設定で毎朝9時などに自動実行 |
| 追加費用 | Officeのライセンスが要る | Googleアカウントがあれば無料 |
特に差が出るのは最後の2つです。VBAは「Excelを開いている人がいる」ことが前提の仕組みなので、誰も出社していない朝7時に集計を回す、という使い方ができません。GASは初回に権限を承認しておけば、パソコンの電源が入っていなくても動きます。
ただし、GASが無条件で安全というわけではありません。会社でGoogle Workspaceを使っている場合、管理者がスクリプトの実行を制限していることがあります。壁3だけは、乗り換えても残る可能性があります。
外注の相場は、VBAでもGASでも変わらない(ココナラ実測)
2026年8月12日にココナラで検索した結果です。
- 「Excel VBA マクロ」は4,949件。上位60件の最低価格は中央値6,000円(最安1,500円、最高100,000円)
- 「Google Apps Script」は2,187件。上位60件の最低価格は中央値6,000円(最安3,000円、最高80,000円)
出品数はVBAが2倍以上ありますが、入口価格の中央値は6,000円で同じでした。頼む側の負担は変わらないということです。
同じ金額を払うなら、納品後に自分のパソコンの設定で止まる確率が低い方を選ぶ方が得です。
私の見方:Excelマクロの受託はしていません
私はExcelマクロの制作を請けておらず、相談を受けたときはGASへの置き換えを提案しています。理由は、VBAの納品物は動作の最終確認が依頼者のパソコン側でしかできないからです。
こちらの環境で動くコードを納めても、受け取った側のOfficeのバージョン、管理者設定、保存形式、ファイルの入手経路のどれか1つで止まります。そして止まった原因は、コードを見ても分かりません。「こちらでは動きます」と言い合う状態になりやすい構造だと考えています。
GASは、作った本人と依頼者が同じURLの同じ画面を見られます。動かないときも、どの行で止まったかを両方が同じログで確認できます。私はこの差を、技術の優劣ではなく、確認できる場所が共有されているかどうかの差だと見ています。
まとめ
- マクロが動かない原因の多くはコードの外にある。保存形式・ファイルの入手経路・管理者設定・実行環境の4つ
- 自力で越えられるのは前の2つ。表示されている文言でその場で判定できる
- 「管理者がマクロの使用を制限しました」が出たら、有効化の検索をやめて情シスに申請する
- ブラウザ版ExcelではVBAを実行できない。デスクトップ版が要る
- 外注の入口価格はVBAもGASも中央値6,000円。同額なら止まりにくい方を選ぶ
止まっている自動化の持ち込み先
マクロでやりたかった処理をGASで作ってもらう(3,000円〜)▶
今あるExcelファイルとやりたいことを送るだけでOK。サンプルデータでの無料試作つき
物件データ整理・反響集計・帳票づくり向けの不動産特化版
マクロのブロック時の表示文言・解除手順、およびExcel for the webでVBAの作成・実行・編集ができない点は、Microsoftサポートの記載を2026年8月12日に確認したものです。Microsoft側の仕様・画面は変更されることがあります。出品件数と価格はココナラ上の同日実測で、変動します。


コメント