- ベストアンサー
Excel VBAで保護されていないセルのクリアー
こんにちは。 Excel2002を使用しております。 例えば、A1:D20の範囲にいくつか保護されて いないセルがあるのですが、保護されていな いセルの値のみをクリアーすることは可能で しょうか? ExcelのVBAは素人ですが、よろしくお願い いたします。
- みんなの回答 (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
その他の回答 (2)
- ja7awu
- ベストアンサー率62% (292/464)
> 保護されていないセルの値のみをクリアーすることは可能でしょうか? 「数式は残す」という意味ですね。 例えば、こんな感じです。 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)
Range("A1:D20").Value = "" や Range("A1").Value = "" というふうに 保護されてない個所のみ指定してあげて そこに ""をセットしてあげるしかありません。
お礼
takntさん、こんにちは。 なるほど、そのとおりですね。 ただ、もっと格好のいい(??)方法 があったらと思ってしまいました。 どうもありがとうございました。
お礼
ja7awuさん、こんにちは。 とってもわかりやすい方法 ありがとうございます。 無事問題解決いたしました。