悩 なやみ箱 暮らしと日常の悩みを、手順で解決するサイト

自作の自動化ツールで大事なデータを消してしまいそうで怖い

2026年9月時点
■ 先に結論

本番のファイルとは別に「コピーを作成」で1本残し、練習も試運転もコピー側で行います。
書き込ませる前に、まず読み取って対象を表示するだけの動かし方で結果を確かめます。
Excelはマクロを実行すると元に戻すスタックがクリアされるため、実行前に別名で保存しておきます。

  1. 本番ファイルのコピーを作る
  2. 練習も試運転もコピー側だけでやる
  3. まず読み取りだけ実行して、対象を目で見る
  4. 書き込みは1行だけに絞って試す
  5. 全消去はふだんのメニューに置かない
  6. マクロを実行すると それまでの元に戻すが消える
  7. コピーで通ってから本番へ

メニューに並べた自作の項目は、押した瞬間に最後まで走ります。途中で止める場所も、自分で作らないかぎり「本当に実行しますか」と聞く画面もありません。初期化のつもりで作った処理は、データが入っているかを見分ける手当てを自分で入れないかぎり、空の表でも顧客名簿でも同じ動きをします。怖いのは慎重さの問題ではなく、作った物にまだ「戻す道」と「止まる仕掛け」が無いからです。

※2026年9月時点の Google・Microsoft 公式ヘルプ(パソコン向け)に基づきます。画面表記は版や環境により変わることがあります。

机の上に開いたノートパソコンが置かれ、そばに無地の書類フォルダと小さな南京錠、コーヒーカップとメモ帳がある絵

1本番を触らせない一本を先に置く

Googleスプレッドシート
  • ファイル → コピーを作成
  • 名前に日付を入れておく
  • 試運転はコピー側だけで行う
Excel
  • 名前を付けて保存で別名にする
  • ファイル名に日付を入れる
  • マクロは複製したブックで動かす

コピーを作ると、その時点の状態が別ファイルに残ります(Google 公式ヘルプ)。コピー側で動かすかぎり、本番のファイルには基本的に手が届きません。ただし、コードの中に本番のファイルIDやURLを直接書いていると、コピーから実行しても本番を書き換えます。実行前にそこだけ見ておきます。

書き換わってしまった後でも、版履歴から戻せることがあります。右上の最終編集アイコンをクリックし、右側のパネルで以前の版を選びます。そのうえで画面上部のこの版を復元、続けて復元を押します(Google 公式ヘルプ)。ただし同じヘルプは、一部の変更は編集履歴に表示されないことがあるとも案内しています。版履歴だけを命綱にせず、先にコピーを作ります。

ファイルごと消えた場合はゴミ箱を見ます。ゴミ箱に移動したファイルは30日後に完全に削除されると案内されています(Google 公式ヘルプ)。ただし中身のセルだけが書き換わった事故は、ゴミ箱には残りません。

どの作業から自動化するかは何から始めればいいか分からないで扱っています。ここでは選んだ作業を安全に試す側だけを書きます。

2書き込ませる前に、読み取りだけで動かす

1回目の実行対象を数えて表示するだけ

書き込みも削除もさせずに、何件が対象になったかを先に見る

一括で置き換える処理は、対象の選び方をひとつ間違えるだけで範囲が表全体まで広がります。出てきた件数が想定と桁違いなら、そこで止めて条件を見直します。

件数が合っていたら、次は1行だけに絞って書き込ませ、狙ったセルだけが変わったのを確かめてから範囲を広げます。

押し間違いでは走らない形にする

  • 初期化・全消去にあたる処理は、ふだん使うメニューに並べず、必要なときだけスクリプトエディタから実行する
  • どうしてもメニューに置くなら、実行前に確認の画面を1枚挟む
  • よく使う項目の隣に、取り返しのつかない項目を置かない。名前も「初期化」より「全データを消して作り直す」のほうが押す前に手が止まる

Excel(VBA)では、実行後の巻き戻しが当てになりません。Microsoft は「Excel でマクロを実行すると、元に戻すスタックがクリアされ、操作できなくなる」と案内しています(Microsoft サポート)。マクロの中から呼べる Application.Undo も、実行前にユーザーが行った最後の操作を取り消すためのもので、マクロ自身が行った変更は取り消せない、しかもマクロの最初の行に書く必要があると明記されています(Microsoft Learn)。

戻せるコピーを1本と、止まる仕掛けを1枚。そろえてから、書き込ませる範囲を少しずつ広げていきます。