ChatGPTに作らせたExcel VBAコードは安全?使う前に確認すべきポイント

AIのコードをそのまま使うのは不安

ChatGPTでExcel VBAを作れるようになると、作業スピードは一気に上がります。

ただ一方で、こんな不安を感じたことはないでしょうか。

  • 勝手にファイルを削除しない?

  • 自分が想定していない場所を触っていない?

  • 本当にこのコード、今の環境で安全?

特にVBAは「一度実行したら取り消せない処理」 が多いのが特徴です。

今回は、実際にChatGPTに作ってもらったファイル削除コードを確認したら、意図と違うファイルを削除する内容だったという体験を元に、AIが作ったVBAを使う前に、どこをどう確認すべきかを具体的に解説します。


実体験:ファイル削除コードを確認してヒヤッとした話

あるとき、次のような要望をChatGPTに投げました。

指定フォルダ内の古いファイルを削除するVBAを作ってください。

出てきたコードをパッと見た感じ、「それっぽい」「ちゃんと動きそう」に見えました。

でも、よく読んでみると問題がありました。

  • 削除対象のフォルダが想定と違う

  • 条件指定がなく、フォルダ内の全ファイルが対象

  • テスト用のフォルダを指定していない

もしそのまま実行していたら、本番データのファイルをまとめて削除していた可能性があります。

この経験から、「ChatGPTのVBAは便利だけど、必ず自分で確認する」という意識が強くなりました。

特に注意すべき処理

ここからは、ChatGPTが作ったVBAで特に危険になりやすい処理を具体的に説明します。


Kill(ファイル削除)

Kill は、指定したファイルを完全に削除する命令です。

  • ゴミ箱に入らない

  • 元に戻せない

  • パス指定を間違えると被害が大きい

ChatGPTが書いたコードで、

Kill "C:\Users\***\Documents\*.xlsx"

のような記述があったら要注意。

ChatGPTに作らせたExcel VBAコードは安全?使う前に確認すべきポイント

  • 本当にそのフォルダでいいか

  • ワイルドカード(*)で削除範囲が広すぎないか

  • テスト用フォルダになっているか

必ず目視で確認しましょう。

■■■スポンサーリンク■■■

Open / Close

Open はファイルを開く処理、
Close は閉じる処理です。

問題になりやすいのは、

  • Closeし忘れている

  • 間違ったファイルをOpenしている

  • 既存ファイルを上書き前提で開いている

特に Open ~ For Output は、既存ファイルを強制的に上書きします。

「読み込みのつもりだったのに、実は上書きしていた」という事故はよくあります。

フォルダ操作

MkDirRmDirDir などのフォルダ操作も要注意です。

  • フォルダを削除していないか

  • 想定外の階層を指定していないか

  • パスが固定書き(ハードコーディング)されていないか

ChatGPTは「環境差」までは考慮してくれないことが多いので、自分のPCでそのパスが本当に安全かを確認しましょう。

上書き保存

SaveSaveAs を使った処理も要チェックです。

  • 元ファイルを上書きしていないか

  • バックアップを取らずに保存していないか

  • ファイル名が固定されていないか

特に業務ファイルでは、「元に戻せない上書き」=事故になります。

チェックポイント一覧

Setされているオブジェクト

Set wb = Workbooks("sample.xlsx")

このような行では、

  • 本当にそのブック名で合っているか

  • 別ブックを参照していないか

を確認します。

オブジェクト指定ミスは、意図しないデータ破壊につながることがあります。

ループ条件

ForDo While の条件も重要です。

  • 無限ループになっていないか

  • 範囲が広すぎないか

  • 条件が逆になっていないか

削除処理がループ内にある場合、1回のミスが大量削除に直結します。

対象シート名

Set ws = Worksheets("Sheet1")

ここも必ず確認。

  • 本番用シート名になっていないか

  • テスト用シートを使っているか

「たまたま同名シートがあった」という事故も起こりがちです。

保存・削除処理

コードの中で、

  • Save

  • SaveAs

  • Kill

がどこで実行されているかを、必ず把握してから実行しましょう。

「思ったより早い段階で削除されていた」というケースもあります。

安全に使うコツ

テスト用ファイルで実行

いきなり本番ファイルで実行しない。

  • コピーしたテスト用ファイル

  • ダミーフォルダ

  • 仮のファイル名

これが鉄則です。

1行ずつ読む

VBAは上から順に実行されます。

  • どこで何をしているか

  • その行は何を変更するのか

「実行されたら何が起きるか」を、1行ずつイメージしながら読みます。

分からない行はChatGPTに質問

ここでChatGPTが再登場します。

例:

このVBAのこの行は何をしていますか?
削除処理はありますか?

AIに作らせたコードを、AIに解説させるのはかなり有効です。

まとめ

ChatGPTが作るExcel VBAは、非常に強力で便利です。

しかし、VBAは

  • ファイルを削除できる

  • 上書き保存できる

  • 元に戻せない操作が多い

という特徴があります。

だからこそ、「そのまま実行する」ではなく「確認しながら使う」という姿勢が重要です。

ChatGPTは「考えるのを助けてくれる相棒」であって、「責任を取ってくれる存在」ではありません。

  • 危険な処理は自分で確認する

  • テスト環境で試す

  • 分からない部分は質問する

この3つを守るだけで、ChatGPT×VBAは、初心者にとっても、実務で使える最強の武器になります。

便利さと安全性、両方を手に入れて使っていきましょう。

■■■スポンサーリンク■■■

リンク

ChatGPTでExcel VBAマクロを自動生成してみた|初心者でも使える実践手順
Excel VBAのエラー修正をChatGPTに頼んだら原因が一発で分かった話
仕様が曖昧でもOK?ChatGPTにExcel VBAを作らせてみた結果
ChatGPTに作らせたExcel VBAコードは安全?使う前に確認すべきポイント
Excel VBA初心者がChatGPTを使うと挫折しにくくなる理由
CopilotでExcel作業はどこまで効率化できる?実務で使ってみた結果
Copilotに仕事を任せてみた|メール・資料作成はここまで楽になる
Copilotが向いている人・向いていない人を実体験から整理してみた
ChatGPT・Copilot・Geminiに同じ仕事を頼んだら結果が全然違った
結局どれを使えばいい?目的別に生成AIを整理してみた【初心者向け】
初心者が最初にやるべき生成AI活用① ChatGPTで「長文を理解・整理する」読むのがしんどい人ほど効果が出る使い方
初心者が最初にやるべき生成AI活用②ChatGPTに「分からないことをそのまま相談する」使い方・聞き方を気にしない安心感
初心者が最初にやるべき生成AI活用③AIを「自分専用の調べ物係」にする使い方|検索に疲れた人ほど効果が出る
ChatGPTにブログ記事を“赤ペン先生”してもらったら修正力がすごかった話―書くのが苦手な人ほど使ってほしい文章改善―
CopilotでExcel作業手順書を一瞬で作る|引き継ぎ資料が秒で完成した話
Geminiでアイデアが枯れたときの発想復活法|何も思いつかないを脱出する使い方
ChatGPT・Copilot・Geminiをブレスト役で使い分ける実例|発想が加速した方法
CopilotでExcel集計→Word報告書を一気に作る実務フロー― 月次報告が“考えずに終わる”ようになった話 ―
大型Excel VBAはChat-GPTよりCopilotの方が作りやすい?実務で感じた変化
Copilotで会議議事録からToDo管理まで一気にやってみた実務フロー
Geminiで社内資料の画像を作ってみた|伝わらない資料が一瞬で変わった話
ChatGPTに流行りの「今まで私があなたをどう扱ってきたかを画像にして」を頼んでみた
ChatGPTのプロンプトを“自分用”に進化させる方法|頼み方で結果が激変する理由
初心者が最初にやりがちなプロンプトの失敗例と直し方
ChatGPTが急に賢くなる「前提条件」の渡し方-同じ質問なのに答えが変わるのはなぜ?-
プロンプトを毎回書かなくてよくなる“会話の残し方”
ChatGPTに「察してもらえない」と感じた時の原因と対処法|噛み合わない理由を実例で解説
AIに雑に投げても失敗しにくくなる頼み方のコツ|考えずに使っても噛み合う方法
プロンプトが思いつかない人のための“最初の一文”テンプレ集
ChatGPTを“相棒化”する人と、うまく使えない人の決定的な差
生成AIはどこまで使っていい?初心者が最初に知るべき法律の話
AI画像生成は違法?著作権で“やってはいけないこと”実例集
商用利用OK?NG?生成AIの利用規約を初心者向けに噛み砕く
AIで作った文章は誰のもの?著作権の考え方をやさしく解説
「知らなかった」では済まない?生成AIトラブル事例と回避法
ブログ・SNSでAI生成物を使うときの最低限の注意点まとめ
AIに頼りすぎて思考力が落ちた話|便利さの裏で起きたリアル失敗
AIの回答を信じて怒られた話|正しいはずが通用しなかった理由
ChatGPTにExcelマクロを直してもらったらコメントが消えた話|親切の落とし穴
Copilotの差分コードが分からなかった話|全コード出してもらう選択
ChatGPTにきれいな文章はいらなかった話|ぐちゃぐちゃでも伝わる
Copilotでクロス表を縦持ちデータに変換|実務VBA作成の流れ
Copilotでクロス表を縦持ちデータに変換|実務仕上げ編
Copilotでクロス表を縦持ちデータに変換|配列で高速化する
Copilotでクロス表を縦持ちデータに変換|項目変更に強い構造へ
Copilotでリストボックスにユニーク値を設定|実務VBA
Copilotでリストボックス並び替え対応|実務VBA
Copilotでリストボックス表示制御を追加|実務VBA
Copilotで階層連動コンボボックス作成|実務VBA
Copilotで列番号を動的管理|階層連動VBAの実務改善
Copilotで並び順統一とUI改善|階層連動VBA仕上げ
Copilotで高速化(配列化)|階層連動VBA最終仕上げ
CopilotにListViewを相談したら絶望した話|64bit VBAの壁
ListView強行突破|MSCOMCTL.OCX配置に成功した話
CopilotでListView登録に挑戦|regsvr32実行編(64bit VBA)
CopilotでListView確認|追加コントロール検証編(64bit VBA)
Copilotに全否定された件|ListView断念か?64bitの壁
CopilotでListView地獄を検証|32bit化で見えたWindowsの罠
CopilotでListView復活か?参照設定に見えた希望
Excel64bit版ListView問題の結論が見えた日
Excel64bit版ListView問題|2017年更新情報をCopilotへ再確認した結果
Excel64bitでListViewをあきらめて代替UIへ挑戦
Excel64bit代替UIに挑戦した結果…結局動かなかった話 ListViewの代替UI作戦が始まった
Excel64bit代替UIに挑戦した結果…hWndが取得できなかった理由 代替UI計画の本当の問題が見えてきた
Excel VBA WindowProcの壁 UserFormにウィンドウがなければWM_DROPFILES受取不可
Excel VBAでListBoxへドラッグ&ドロップできない理由 前回までのおさらい
Copilotはなぜ存在しない機能を提案したのか 前回ブログで生まれた新たな疑問
AIから正しいVBAコードを引き出す質問術

■■■スポンサーリンク■■■