エクセルで2つのマクロを結合したい
毎度お世話名なっております。
以前ここで教えてもらった保存時に全シートの入力済みセルに自動で保護がかかる<マクロ1>を教えてえもらって非常に多くのBookに採用しているのですが、今回同じBookの「計算表」シートの特定のいくつかのセルだけ保護がかからないようにしたく試行錯誤で2つのマクロをつなげてみたのですが情けないことに期待通りに動かず。
単に最初のマクロのEnd Subを削除しただけではうまくいかず。
どなたかHELPお願い致します。
<マクロ1>
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Const MyPassword = "" 'パスワード(省略可)
Dim sh As Worksheet
On Error Resume Next
For Each sh In Worksheets
sh.Unprotect Password:=MyPassword
With sh.Cells
'全セルのロックを外す
.Locked = False
'定数が含まれているセルにロックを掛ける
.SpecialCells(xlCellTypeConstants).Locked = True
'数式が含まれているセルにロックを掛ける
.SpecialCells(xlCellTypeFormulas).Locked = True
End With
sh.Protect DrawingObjects:=True, Contents:=True, _
Scenarios:=True, Password:=MyPassword
Next
On Error GoTo 0
End Sub
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub 保護解除()
<マクロ2>
' 保護解除 Macro
''
Sheets("計算表").Select
Range("C6:D6").Select
ActiveSheet.Unprotect
End Sub
お礼
ありがとうございました。助かりました。