文書番号: 402324
最終更新日: 1997/10/21
1.数式が入力されているセルを選択する。
2.選択されているセルまたはセル範囲 に [書式] - [セル] コマンドの [保護] パネ
ルに含まれる [ロック] を設定する。
手順 1.の作業を行うには、SpecialCells メソッドを使用します。手順 2.の作業を行うには、セル範囲の Range オブジェクトに対して Locked プロパティ に適切な値を代入します。
Option Explicit
Sub WorksheetFomulasLock()
Dim SelectObject As Object
' Sheet1 をアクティブ ウィンドウに設定
ActiveWorkbook.Worksheets("Sheet1").Select
' 現在選択されているオブジェクトを取得
Set SelectObject = Selection
'もし、Sheet1 が [シート保護] されていたら
If ActiveSheet.ProtectContents = True Then
' Sheet1 の [シート保護] を解除
ActiveSheet.Unprotect
End If
'セル全体を選択
Cells.Select
'[保護] の [ロック] を解除
Selection.Locked = False
'セルの [保護] で [表示しない] を解除
Selection.FormulaHidden = False
'ワークシートで数式の入力されているセル全てを選択
Selection.SpecialCells(xlFormulas).Select
'[保護] で [ロック] を設定
Selection.Locked = True
'[保護] で [表示しない] に設定
Selection.FormulaHidden = True
'[シートの保護] を設定
ActiveSheet.Protect DrawingObjects:=False, _
Contents:=True, Scenarios:=False
'サブルーチンが実行される前に選択されていたオブジェクトを選択
SelectObject.Select
End Sub
Keywords: KBHOWTO KB402324
Technology: kbExcel500 kbExcelSearch kbExcelWinSearch