- ベストアンサー
新しいシートパスワード設定
VBA初心者で、ヘルプみてもわからないので、質問致します。現在VBAで、セルに文字を入力すると新しいシートが追加され、入力した文字がそのままシート名に反映されるコードを作成しました。その新しく作成したシートに対し、パスワードを入力しないかぎりシートが表示されないコードを作りたいと思っています。 Passwordとかprotectといったコードをヘルプで調べたりサイトで調べても、シートの保護を中心にかかれています。 このような事は可能なのでしょうか?詰まって困っています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
1.新規シートのイベントに下記のようなコードをVBAで記入する。 Private Sub xWorksheet_Activate() Dim ws As Worksheet Set ws = ActiveSheet Sheets(1).Select Application.EnableEvents = False If InputBox("パスワードを入れてください。", "Password") = "pass" Then ws.Select Application.EnableEvents = True Set ws = Nothing End Sub 2.ThisWokbook のイベントに下記のようなコードを入れる。 Private Sub Workbook_SheetActivate(ByVal Sh As Object) If Sh.Name = "Sheet1" Then Exit Sub Application.EnableEvents = False Sheets(1).Select If InputBox("パスワードを入れてください。", "Password") = "pass" Then Sh.Select Application.EnableEvents = True End Sub いずれの場合も、シートタブをクリックすると別のシートを表示して、パスワード入力を求める物です。
その他の回答 (1)
- papayuka
- ベストアンサー率45% (1388/3066)
ちょっと意味が違うかも知れませんが、、、 シートを非表示にして、いじらせないならブックを保護しないとダメかな、、 と思います。
お礼
回答ありがとうございました。
お礼
上記のコマンドをヒントに無事解決できました。有難うございました。