多くの人がこのシートに入る予定であるため、一部のシートが保護される必要があるブックを作成しました。このシートには感覚的な情報がありますすべてのために。そうするには
私は、次のコードをGoogleで検索して見つけた:Excelマクロを強制的に実行する
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim MySheets As String, Response As String
MySheet = "Sheet1"
If ActiveSheet.Name = MySheet Then
ActiveSheet.Visible = False
Response = InputBox("Enter password to view sheet")
If Response = "MyPass" Then
Sheets(MySheet).Visible = True
Application.EnableEvents = False
Sheets(MySheet).Select
Application.EnableEvents = True
End If
End If
Sheets(MySheet).Visible = True
End Sub
私のニーズに完璧に動作しますが、問題があります。
問題は次のとおりです。動作させるには、マクロコマンドを有効にする必要があります。ファイルを保存する場合は、信頼できるものではないマクロ対応ワークブックとして保存する必要があります私のユーザーが行うこと。
私の質問は次のとおりです:マクロコマンドを有効にせずに、マクロを受け入れずにシートを開くことができず、通常のExcelブックとして保存できないようにすることはできますか?
'シート(:保護シートのみ編集を防ぎ、ここで詳述隠蔽新しい方法を提案MySheet).Visible = True'あなたはすべてのケースであなたのシートを見せていますか?このコードは何をすべきか? –
これは、誰かがいつでもタブを入力しようとすると、パスワードを要求することです。 このパスワードが、このケースで「MyPass」と書かれたパスワードと一致しない場合は、アクセスが許可されません。 –
これは私が理解できないことです。なぜなら、** If **の後でサブを出る前に、再びSheets(MySheet).Visible = True'をやっているからです。この文は、ユーザが入力したパスワードが何であっても実行されます。 –