目次
AIのコードをそのまま使うのは不安
ChatGPTでExcel VBAを作れるようになると、作業スピードは一気に上がります。
ただ一方で、こんな不安を感じたことはないでしょうか。
-
勝手にファイルを削除しない?
-
自分が想定していない場所を触っていない?
-
本当にこのコード、今の環境で安全?
特にVBAは「一度実行したら取り消せない処理」 が多いのが特徴です。
今回は、実際にChatGPTに作ってもらったファイル削除コードを確認したら、意図と違うファイルを削除する内容だったという体験を元に、AIが作ったVBAを使う前に、どこをどう確認すべきかを具体的に解説します。
実体験:ファイル削除コードを確認してヒヤッとした話
あるとき、次のような要望をChatGPTに投げました。
指定フォルダ内の古いファイルを削除するVBAを作ってください。
出てきたコードをパッと見た感じ、「それっぽい」「ちゃんと動きそう」に見えました。
でも、よく読んでみると問題がありました。
-
削除対象のフォルダが想定と違う
-
条件指定がなく、フォルダ内の全ファイルが対象
-
テスト用のフォルダを指定していない
もしそのまま実行していたら、本番データのファイルをまとめて削除していた可能性があります。
この経験から、「ChatGPTのVBAは便利だけど、必ず自分で確認する」という意識が強くなりました。
特に注意すべき処理
ここからは、ChatGPTが作ったVBAで特に危険になりやすい処理を具体的に説明します。
Kill(ファイル削除)
Kill は、指定したファイルを完全に削除する命令です。
-
ゴミ箱に入らない
-
元に戻せない
-
パス指定を間違えると被害が大きい
ChatGPTが書いたコードで、
のような記述があったら要注意。

-
本当にそのフォルダでいいか
-
ワイルドカード(
*)で削除範囲が広すぎないか -
テスト用フォルダになっているか
必ず目視で確認しましょう。
Open / Close
Open はファイルを開く処理、
Close は閉じる処理です。
問題になりやすいのは、
-
Closeし忘れている
-
間違ったファイルをOpenしている
-
既存ファイルを上書き前提で開いている
特に Open ~ For Output は、既存ファイルを強制的に上書きします。
「読み込みのつもりだったのに、実は上書きしていた」という事故はよくあります。
フォルダ操作
MkDir、RmDir、Dir などのフォルダ操作も要注意です。
-
フォルダを削除していないか
-
想定外の階層を指定していないか
-
パスが固定書き(ハードコーディング)されていないか
ChatGPTは「環境差」までは考慮してくれないことが多いので、自分のPCでそのパスが本当に安全かを確認しましょう。
上書き保存
Save や SaveAs を使った処理も要チェックです。
-
元ファイルを上書きしていないか
-
バックアップを取らずに保存していないか
-
ファイル名が固定されていないか
特に業務ファイルでは、「元に戻せない上書き」=事故になります。
チェックポイント一覧
Setされているオブジェクト
このような行では、
-
本当にそのブック名で合っているか
-
別ブックを参照していないか
を確認します。
オブジェクト指定ミスは、意図しないデータ破壊につながることがあります。
ループ条件
For や Do While の条件も重要です。
-
無限ループになっていないか
-
範囲が広すぎないか
-
条件が逆になっていないか
削除処理がループ内にある場合、1回のミスが大量削除に直結します。
対象シート名
ここも必ず確認。
-
本番用シート名になっていないか
-
テスト用シートを使っているか
「たまたま同名シートがあった」という事故も起こりがちです。
保存・削除処理
コードの中で、
-
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コードは安全?使う前に確認すべきポイント