|    | 
     パスワード候補を入力させたら、その入力値でロック解除を試せばいいのではないですか? 
 
Private Sub CommandButton1_Click() 
Dim ret As Variant 
With ActiveSheet 
  If .ProtectContents Then 
    ret = Application.InputBox("パスワードをどうぞ", Title:="パスワード入力", Type:=2) 
    If VarType(ret) = vbBoolean Then Exit Sub 
    On Error GoTo ErrHndl 
    .Unprotect ret 
    On Error GoTo 0 
    ActiveCell.Value = 12 
    .Protect ret 
  Else 
    ActiveCell.Value = 12 
  End If 
End With 
Exit Sub 
ErrHndl: 
  MsgBox Err.Description, vbExclamation 
End Sub 
 
 
(注意) 
・シート保護は、パスワードロックされている前提です。 
・厳密にやるなら、例えばシート保護時のオプション指定がある場合には、 
解除前に各々現設定を記憶しておいて、再度保護かける際には、 
元の設定と同様に設定してやる必要があるでしょう。 
 
 | 
     
    
   |