• ベストアンサー

エクセルVBAでLockされてないセルをClearContents

エクセル2000です。 シートでロックされていないセルだけ中身を削除するマクロを作っています。以下でも一応作動はするのですが、いちいちForNextでまわさずにできないものかと質問させていただきました。 よろしくお願いします。(o。_。)oペコッ Sub クリアテスト() Dim c As Range For Each c In ActiveSheet.UsedRange If c.Locked = False Then c.ClearContents End If Next End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

こんにちは。 テンプレート等のデータクリアだと思います。 ロックしてない(クリアする)セルに予め名前をつけておき、   Range("名前").ClearContents じゃダメなのかな? これがダメなら、ご提示のマクロのようになると思います。

merlionXX
質問者

お礼

さっそくありがとうございます。 実は、それぞれレイアウトが異なる複数のシートに対してそれぞれのシートがアクティブなときにだけ働けばいいので、同じマクロで済ましてしまおうとたくらんだのです。 やはり、For Nextですか・・・。