• ベストアンサー

エクセル VBA

先日初めてVBAに触れた者です 知恵をお貸しください エクセルのバージョンは2000です ブックのデータを誰も編集できないようにして、 尚且つオートフィルタだけを有効にする方法を探しています。 この条件だけならば、 Sub Auto_Open() Worksheets("Sheet1").EnableAutoFilter = True Worksheets("Sheet1").Protect UserInterfaceOnly:=True End Sub で、可能になったのですが あとこのシートに「パスワード保護」をかけることは 出来るでしょうか? 私には「出来る」か「出来ないか」すらわからないです。 お手数をおかけして申し訳ないですが どうぞお助けくださいませ。 よろしくお願いします

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 たぶん、最初に、手動でパスワード設定をして保存してから、次に、Auto_Openや以下のような、ThisWorkbook モジュールに書きます。 Private Sub Workbook_Open()  With Worksheets("Sheet1")   .Unprotect Password:="PWSD"   .EnableAutoFilter = True   .Protect Password:="PWSD", UserInterfaceOnly:=True  End With End Sub >ツール ⇒ 保護 ⇒ シート保護の解除 を選択しても >解除パスワード入力の画面が出ずにそのまま解除されてしまいます;; これに関しては、もう一度、試してください。そのように外れてしまう現象は、出会ったことがあります。 昔はなかったような気がするのですが、Excel 2000+ Win XPの環境のせいなのか、これに関する解決方法は見当たりませんでした。

AQ-kino
質問者

お礼

ありがとうございます! 先にパスワード設定をしてから No1様の設定をしたら解決しました。 助かりました!

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.1

以下のように設定できます。   Worksheets("Sheet1").Protect UserInterfaceOnly:=True   ↓   Worksheets("Sheet1").Protect Password:="pswd", UserInterfaceOnly:=True

AQ-kino
質問者

お礼

回答ありがとうございます。 早速試してみましたが、 ツール ⇒ 保護 ⇒ シート保護の解除 を選択しても 解除パスワード入力の画面が出ずにそのまま解除されてしまいます;; お手数かけてすみません。。。

すると、全ての回答が全文表示されます。

関連するQ&A

専門家に質問してみよう