「一生懸命作った集計表の計算式が、いつの間にか消されている……」
そんな経験はありませんか?
今日は、共有ファイルを使う際の「壊されるかも」という不安を、根本から解決する方法をご紹介します。
これを知っていれば、もう「#REF!(参照エラー)」の文字を見て焦ることはないでしょう。
こんな悩みを持つ方におすすめ
- 共有のエクセルファイルで、マスタデータや計算用のシートを他人にいじられて壊されてしまう。
- 「シートの非表示」にしても、誰かに再表示されてしまうイタチごっこ。
右クリックの「非表示」じゃ、守れない
一般的に、人に見せたくないシートがあるとき、シートの見出しを右クリックして「非表示」にしますよね。
でも、これだとExcelを少し知っている人なら、すぐに右クリックで「再表示」できてしまいます。
これは、玄関に鍵をかけたのに、その鍵をドアノブにぶら下げているような状態です。
「見るな」と言われると見たくなるのが人間です。そして、悪気なくデータを上書きされてしまいます。
そこで使うのが、VBA(マクロ)の機能を使って、設定を「完全に隠す(Very Hidden)」に切り替えます。
誰も手出しできない「隠しシート」
ExcelのVBAには、シートの表示設定(Visibleプロパティ)に以下の3つの段階があります。
- xlSheetVisible:見える(通常)
- xlSheetHidden:見えない(右クリックで戻せる)
- xlSheetVeryHidden:完全に隠す(VBAからしか戻せない)
この「3つ目」が最強です。
これを設定すると、Excelの画面上でどこを右クリックしても「再表示」のリストに出てこなくなります。存在自体をなかったことにできます。
コピペで使えるコード
手順は簡単です。まずは隠したいシートの名前(例:「Master」)を確認しましょう。ここでは仮に「Master」という名前のシートを隠すとします。
- Excelを開き、Alt + F11 を押してVBAの画面を開く。
- 「挿入」→「標準モジュール」をクリック。
- 以下のコードを貼り付ける。
Sub 隠しシートにする()
Worksheets("Master").Visible = xlSheetVeryHidden
MsgBox "シートを隠しました。"
End Sub
あとは F5 キーを押すか、実行ボタンを押すだけ。
これだけで、「Master」シートはExcel画面から消滅します。右クリックの「再表示」メニューを見ても、そもそも候補に出ず押せません。
再編集が必要なときは、以下の「復活させる」コードを実行すれば、一瞬で元に戻せます。
Sub 隠しシートを復活させる()
Worksheets("Master").Visible = xlSheetVisible
MsgBox "戻しました。"
End Sub
おわりに
知らずにマウス操作でいじってしまう人はいると思います。
でもこの設定をしておけば、大切な計算式やマスタデータが壊される確率は、ほぼ0%になるでしょう。ぜひ試してみてください。
VBAを独学で学び、業務自動化に5年以上携わってきた私が、「本当に実務で役立った!」と感じた2冊を紹介します。 もう本選びで失敗したくない方は、よければ参考にしてみてください。

コメント