- 締切済み
[EXCEL]保護されたシートでオートフィルタ利用可能にしたいのですが
いかのURLにも同じような質問があり、 http://oshiete1.goo.ne.jp/qa2550996.html それにしたがって、シート保護でもオートフィルタ可能にするための VBA記述を行いましたが、オートフィルタが利用可能になりません。 シートの保護はできているようですし、エラーもでません。 記述したコードは以下になります。 Sub Workbook_Open() Dim Sh As Worksheet For Each Sh In Worksheets Sh.Unprotect Password:="fukuri" Sh.EnableAutoFilter = True Sh.Protect Password:="fukuri", userInterfaceOnly:=True Next Sh End Sub なにか、不足している記述があるのでしょうか? もし、わかる方がいらっしゃったら是非アドバイスいただけないでしょうか? 私自身、VBAを利用するのがはじめてで勉強不足にもかかわらず 大変恐縮ですが、ご回答いただければ幸いです。 宜しくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Musaffah
- ベストアンサー率36% (37/101)
やはりそう簡単なものじゃありませんでしたか。 ちなみに当方の環境で上記VBAを実行したところ、ちゃんと動作してますね。(2003ですがきちんと動きました。) 1)適当に表を作成し、オートフィルタを設定。 2)シートを保護し、オートフィルタが使用不可であることを確認。 3)ファイルを保存終了。 4)ファイルを再度開く。 もしかして、オートフィルタをかけていない状態でファイルを保存したりていませんか?
- Musaffah
- ベストアンサー率36% (37/101)
ご使用のExscelは2000ですよね? (2003でしたらシート保護オプションで設定可能ですので。) 当方Excel2003ですので推測ですが、 For Each Sh in ThisWorkbook.Worksheets ("ThisWorkbook"が抜けてる) でちゃんと動いたりしませんか?
お礼
環境はExcel2000です。情報の不足申し訳ありません。 アドバイスの通りThisWorkbookを追加しましたが やはりうまく動作しませんでした。 ご回答、本当にありがとうございました。