dポイントプレゼントキャンペーン実施中!

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

A 回答 (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
    • good
    • 2
この回答へのお礼

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

お礼日時:2003/06/30 15:11

> 保護されていないセルの値のみをクリアーすることは可能でしょうか?



「数式は残す」という意味ですね。
例えば、こんな感じです。

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
    • good
    • 0

Range("A1:D20").Value = ""



Range("A1").Value = ""
というふうに 保護されてない個所のみ指定してあげて
そこに ""をセットしてあげるしかありません。
    • good
    • 0
この回答へのお礼

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

お礼日時:2003/06/30 15:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!