• ベストアンサー

Excel VBAで保護されていないセルのクリアー

こんにちは。 Excel2002を使用しております。 例えば、A1:D20の範囲にいくつか保護されて いないセルがあるのですが、保護されていな いセルの値のみをクリアーすることは可能で しょうか? ExcelのVBAは素人ですが、よろしくお願い いたします。

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

  • ベストアンサー
  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.3

ちょっと書き方が、まずかったかな? > 保護されていないセルの値のみをクリアーすることは可能でしょうか? 保護されていないセルで「値」は、クリアーし、もしその中に数式があれば、 その「数式」は、残すということでいいですね。 例えば、こんな感じでどうでしょうか。 Dim Rng As Range For Each Rng In Range("A1:D20")   If Rng.Locked = False Then     If Not Rng.HasFormula Then Rng.ClearContents   End If Next Rng End Sub

enako
質問者

お礼

ja7awuさん、こんにちは。 とってもわかりやすい方法 ありがとうございます。 無事問題解決いたしました。

その他の回答 (2)

  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.2

> 保護されていないセルの値のみをクリアーすることは可能でしょうか? 「数式は残す」という意味ですね。 例えば、こんな感じです。 Dim Rng As Range For Each Rng In Range("A1:D20")   If Rng.Locked = False Then     If Not Rng.HasFormula Then Rng.ClearContents   End If Next Rng End Sub

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

Range("A1:D20").Value = "" や Range("A1").Value = "" というふうに 保護されてない個所のみ指定してあげて そこに ""をセットしてあげるしかありません。

enako
質問者

お礼

takntさん、こんにちは。 なるほど、そのとおりですね。 ただ、もっと格好のいい(??)方法 があったらと思ってしまいました。 どうもありがとうございました。

関連するQ&A