Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11907 / 13645 ツリー ←次へ | 前へ→

【13392】非保護セルのデータデータを消すには Kobasan 04/5/4(火) 9:39 質問[未読]
【13395】Re:非保護セルのデータデータを消すには かみちゃん 04/5/4(火) 10:14 回答[未読]
【13400】Re:非保護セルのデータデータを消すには Kobasan 04/5/4(火) 14:22 お礼[未読]

【13392】非保護セルのデータデータを消すには
質問  Kobasan  - 04/5/4(火) 9:39 -

引用なし
パスワード
   Sub clear_指定範囲data()
  '指定範囲のセルに対して
  Range("D20.G30").SpecialCells(xlCellTypeConstants).ClearContents
End Sub
のCellTypeConstantsを非保護のものに変えられないかなと思っています。

【13395】Re:非保護セルのデータデータを消すには
回答  かみちゃん  - 04/5/4(火) 10:14 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>のCellTypeConstantsを非保護のものに変えられないかなと思っています。

非保護のセルのみを選択して、選択されたセルを「値のクリア」するには、次のようにしてもできます。

Sub TEST()
  Dim MyRange As Range
  Dim C As Range, i As Long
  i = 0
  '指定範囲のセル(Range("xxxx"))に対して
  'In ActiveSheet.UsedRangeでアクティブシート全体
  For Each C In Range("D20.G30")
    Select Case True
      Case C.Locked = False And i = 0
        i = i + 1
        Set MyRange = C
      Case C.Locked = False
        Set MyRange = Union(MyRange, C)
    End Select
  Next C
  '非保護(セルの書式設定−保護−ロックのチェックをはずしてある)のセルを選択
  MyRange.Select
  '選択されているセルを「値のクリア」
  Selection.ClearContents
End Sub

【13400】Re:非保護セルのデータデータを消すには
お礼  Kobasan  - 04/5/4(火) 14:22 -

引用なし
パスワード
   こんにちは Kobasan です。
早々に答えを有り難うございます。
早速、動かしてみると、いい具合に動きました。

マクロ実行記録で、セルの保護・解除をして、VBAを見るとLockedがあったのですが、その使い方が、このようにすればよいと言うのが分かりました。

11907 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free