شكرا الأستاذ نزار
وسيكون الكود بالشكل الأتى :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.HasFormula Then
MsgBox "Sorry"
'ActiveSheet2.Protect
Else
'ActiveSheet2.Unprotect
End If
MyPassword = "123
For Each MySheet In ActiveWorkbook.Sheets
MySheet.Protect _
password:=MyPassword, _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True, _
UserInterfaceOnly:=True
Next MySheet
End Sub