| 
    
     |  | こんにちは。 シートを1枚追加して、シート名に「ダミーシート」としてください。
 パスワード設定用なんで、余計な物は消してください。
 だいぶ前のなんで良く覚えていませんが、2回目から有効だったような?
 
 標準モジュール
 Sub Auto_open()
 暗証番号 = Application.InputBox(Prompt:="暗証番号を入力してください。。", _
 Title:="暗証番号入力")
 If 暗証番号 <> "111" Then
 MsgBox "暗証番号が違います。暗証番号は、「111」"
 ThisWorkbook.Close
 Else
 ThisWorkbook.Worksheets("ダミーシート").Unprotect Password:="111"
 ThisWorkbook.Unprotect Password:="111"
 For i = 1 To 3
 Worksheets("Sheet" & i).Visible = True
 Next
 End If
 End Sub
 
 Thisworkbook
 
 Private Sub Workbook_BeforeClose(Cancel As Boolean)
 ThisWorkbook.Unprotect Password:="111"
 For i = 1 To Worksheets.Count
 If Sheets(i).Name <> "ダミーシート" Then
 Worksheets("Sheet" & i).Visible = False
 End If
 Next
 ThisWorkbook.Sheets("ダミーシート").Protect
 ThisWorkbook.Protect Password:="111", Structure:=True, Windows:=True
 ThisWorkbook.Save
 ThisWorkbook.Close (True)
 End Sub
 
 |  |