Excelのワークシートで、ユーザーが特定のセルに数値を入力し、それを元に計算するケースがあります。
ワークシートを初期状態に戻すため、この入力用セルをクリアする方法を考えます。
入力用セルの数が少なければ一つずつ削除すればよいのですが、数が多かったり、あちこちに飛んでいたりすると、面倒です。クリアしてはいけないセルを誤って削除してしまうケースもあるでしょう。
次のようにします。Excel2007で確認しました。
入力用セルのロックを外す
- 入力用セルを選択。
- メニューの ホーム – セル – 書式 – セルの書式設定 を選択。※右クリックから セルの書式設定 を選択してもよい。
- 「セルの書式設定」ダイアログの「保護」タブを選択。
- 「ロック」のチェックを外してOKをクリック。
入力用セルが複数ある場合は全てについてロックを外します。
この状態でシートの保護(校閲 – 変更 – シートの保護 を選択)をすると、入力用セル以外のセルについては入力ができません。
マクロ
次のマクロを使います。
Sub 入力用セルをクリア()
For Each c In Range("a1:z100")
If c.Locked = False Then
c.Value = ""
End If
Next c
End Sub
For Each c In Range("a1:z100")
If c.Locked = False Then
c.Value = ""
End If
Next c
End Sub
セルA1からZ100の範囲を指定しています。もっと広げても構いません。
この範囲の全てのセルについてロックされているか調べます。LockedがTrueならばロックされています。Falseならばロックされていません。
ロックされていない場合、すなわち入力用セルならば、値を空にします。
コメント