• ベストアンサー

新しいシートパスワード設定

VBA初心者で、ヘルプみてもわからないので、質問致します。現在VBAで、セルに文字を入力すると新しいシートが追加され、入力した文字がそのままシート名に反映されるコードを作成しました。その新しく作成したシートに対し、パスワードを入力しないかぎりシートが表示されないコードを作りたいと思っています。 Passwordとかprotectといったコードをヘルプで調べたりサイトで調べても、シートの保護を中心にかかれています。 このような事は可能なのでしょうか?詰まって困っています。

質問者が選んだベストアンサー

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.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 いずれの場合も、シートタブをクリックすると別のシートを表示して、パスワード入力を求める物です。

syoi198985
質問者

お礼

上記のコマンドをヒントに無事解決できました。有難うございました。

その他の回答 (1)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

ちょっと意味が違うかも知れませんが、、、 シートを非表示にして、いじらせないならブックを保護しないとダメかな、、 と思います。

syoi198985
質問者

お礼

回答ありがとうございました。

関連するQ&A