| 
    
     |  | 説明が足りなくて申し訳ありません。 
 下のようなコードを書きました↓
 下のコードのどこが間違っているかわからないです。
 
 まずシート全体を保護しておき、
 ブックを開いたときにPasswdが"k"のときは3つのワークシート全体の保護を解除します。それはうまく行きました。
 そしてPasswdが"k"以外のものが入った時はセル範囲P1〜O65535までの範囲の保護のみを解除したいのです。
 Excel2000でどのようにすれば実現できるか御教授頂きたいです。
 
 Private Sub Workbook_Open()
 Dim kami As String
 Dim densi As String
 Dim setubi As String
 kami = "a"
 densi = "b"
 setubi = "c"
 Passwd = InputBox("パスワードを入力してください。", "ログイン")
 If Passwd = "k" Then
 Worksheets(kami).Unprotect Password = "k"
 Worksheets(densi).Unprotect Password = "k"
 Worksheets(setubi).Unprotect Password = "k"
 Else
 Worksheets(kami).Activate
 Range("P1:O65535").Unprotect Password = "k"
 Worksheets(densi).Activate
 Range("P1:O65535").Unprotect Password = "k"
 Worksheets(setubi).Activate
 Range("P1:O65535").Unprotect Password = "k"
 
 Worksheets(kami).Activate
 Range("A1").Select
 End If
 
 |  |