[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『非保護セルのデータのみ一括で消去したいのですが』(初心者)
それぞれ異なったレイアウトのシートで、保護を掛けたセル以外のデータを消すにはどうしたらよいでしょうか?。
シート数が多いので個別にデータ消去を記録したマクロを作るのが大変なので困っています。
ループ処理なのでデータが多いと時間が掛かると思います。 セルが特定されているなら、自分でセルを指定したコードを書いた方が良いです。
Sub aa() Dim r As Range Dim ws As Worksheet
For Each ws In Worksheets
With ws
.Unprotect
For Each r In .Range("A1", .Cells.SpecialCells(xlCellTypeLastCell))
If r.Locked = False Then r.ClearContents
Next r
.Protect
End With
Next ws
End Sub
(INA)
>保護を掛けたセル以外のデータを消すにはどうしたらよいでしょうか?。
Sub てすと()
On Error Resume Next
Sheets("Sheet1").Cells.Value = ""
On Error GoTo 0
End Sub
勘違いでしたら、お許しをm(__)m
(SoulMan)
あっ。 ループしなくてもできるんだ。
でも、これで処理できる理由が分からない・・・(;-_-;) SoulManさんは、どうやってこの方法を見つけたのですか? (INA)
すっきり一発で削除できました。心から感謝いたします。
”エクセルの学校”の大ファンになりました。
(初心者)
>SoulManさんは、どうやってこの方法を見つけたのですか? えっ(◎_◎;) ドッキ!!って普通にやってました。(^^; というかぁ、、保護されてるセルに値は代入出来ない訳でしてぇ???? 私的感覚には「やれるところだけでもやっといて!」みたいな感じでしょうか?? 説明になってない???( ̄□ ̄;)!! ちなみに、、値の削除と限定されると、、 [[20050515204217]]『保護がかかっていないセルの値の削除』(ひろけん) こんなのになっちゃいますね。ご参考までに・・・・ (SoulMan)我流?
WorkSheetオブジェクトに対してCellsがすべてのセルを 返すから、ということでいいのでは?
保護がかかっていればエラーになりますが、 On Error Resume Nextで次に進めてますよね。
ところでOn Error GoTo 0っている? (ramrun)
あっ、親分、ナイスフォローありがとうございます。m(__)m >ところでOn Error GoTo 0っている? えっ、ちょっとはカッコ付けてみようかなぁ・・・なんて思っちゃたりなんかしてぇ、、、 いやだなぁ、、突っ込まないでくださいよぉ、、、(^^; ではでは、、 (SoulMan)
Rangeオブジェクトに対してループ処理しているような感じなのですね。 新しい発見でした。m(_ _)m
(INA)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.