• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのマクロでシート保護解除時に・・・)

エクセルのマクロでシート保護解除時に...

このQ&Aのポイント
  • EXCEL2000を使っています。ワークシートの保護を解除したタイミングで、マクロを自動実行することは可能でしょうか?
  • 特定の列(AとB)に保護がかかっています。一般社員はC列以降に入力可能で、パスワードを知っている管理職はA、B列に入力ができるようにしています。
  • パスワードを外したときにリストボックスが表れるようにマクロを設定したいと思っています。VBAをいじった事がほとんどありませんでしたので、困窮した挙句この場で質問させて頂きました。

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

  • ベストアンサー
  • mar00
  • ベストアンサー率36% (158/430)
回答No.2

EXCEL2000は使った事がないので、的外れかもしれませんが ユーザーフォームで入力を行っているということでしょうか。 考え方は一緒だと思いますので参考になれば 仮に入力するフォームをUserForm1として UserForm2を作成します。 UserForm2でパスワード入力を促します。 ここではパスワードを1111にしてます。 先にUserForm2を呼び出して Private Sub CommandButton1_Click() ' UserForm2のOKボタン PASS = TextBox1 If PASS = 1111 Then ActiveSheet.Unprotect (1111) Unload Me UserForm1.Show Else MsgBox "パスワードが違います。" TextBox1 = "" TextBox1.SetFocus Exit Sub End If End Sub Private Sub CommandButton2_Click() 'UserForm2のキャンセルボタン Unload Me End Sub Private Sub CommandButton1_Click() 'ユーザーフォーム1を閉じるボタンで保護する ActiveSheet.Protect (1111), DrawingObjects:=True, Contents:=True, Scenarios:=True End Sub をそれぞれ記述すれば、出来るのではないかと思います。

yu0614
質問者

お礼

お礼が遅くなり申し訳ありませんでした。 諦めて別の方法を模索していたところ、具体的なアドバイスを頂けて大変助かりました。 また別の機会にも是非よろしくおねがいします。

その他の回答 (1)

  • TNK787
  • ベストアンサー率17% (25/141)
回答No.1

無理ですね そのようなイベントはありません 別の手法を考えましょう 発想の転換です!

yu0614
質問者

お礼

そうなんですか! その事が知れただけでも満足です。別の手立てを考えます。 ありがとうございます。

関連するQ&A

専門家に質問してみよう