オールクリアボタン VBA どこが間違ってるの?
VBA初心者です。
設定、部品1、部品2、部品3、部品4と4つのシートがあります。
設定シートにオールクリアボタンを設置し各シートの値だけをクリアする
ようにしたいのですが、「subまたはfunctionが定義されていません」という
エラーが出てしまいます。
間違ってる箇所とうまくいく方法を教えていただけませんでしょうか?
記述は以下のとうりです。
ちなみにエクセルを開くと全シート保護という設定にしているので
まずその解除をしてオールクリアしてまた保護といううふうにしたいです。
Private Sub CommandButton1_Click()
'全シート保護解除
Dim sh As Worksheet
For Each sh In Worksheets
sh.Unprotect
Next sh
'範囲選択
With Worksheet("部品1").Select
Cells.Select
'シートの値だけをクリアする
Selection.SpecialCells(xlConstants, 23).ClearContents
End With
'範囲選択
With Worksheet("部品2").Select
Cells.Select
'シートの値だけをクリアする
Selection.SpecialCells(xlConstants, 23).ClearContents
End With
'範囲選択
With Worksheet("部品3").Select
Cells.Select
'シートの値だけをクリアする
Selection.SpecialCells(xlConstants, 23).ClearContents
End With
'範囲選択
With Worksheet("部品4").Select
Cells.Select
'シートの値だけをクリアする
Selection.SpecialCells(xlConstants, 23).ClearContents
End With
'全シート保護
For Each sh In Worksheets
sh.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Next sh
End Sub
以上です、よろしくお願いします。
お礼
ありがとうございます。リカバリCDをいれるといいんですね。やってみます。ありがとうございました。