エクセル2013で高度なフィルタオプションを無効にするには私を助けることができれば、私は思っていた
:
.Protect UserInterfaceOnly:=True
を
しかし、まだ高度なフィルタを選択することはできます。これにより、データをフィルタリングすることができます。
次のコードは、Excelの以前のバージョンで動作するように使用されるが、私はそれがエクセル2013のために働くように見えることはできません。
Application.CommandBars("Worksheet Menu Bar").Controls _
("&Data").Controls("&Filter").Controls("&Advanced Filter...").Enabled = False
誰もがこれで私を助けたり、正しい方向に私を指すことができればそれは高く評価されるでしょう。
ありがとうございます。
誰かがフィルタを変更しないようにすることで、どのような効果が期待できますか?ユーザーに表示させたくないデータがある場合は、編集したドキュメントにのみアクセス権を与えます。フィルタされたスプレッドシートにアクセスできるユーザーは、引き続き隠しデータを表示するために基礎となるファイルを読み取ることができます。 – Phylogenesis
こんにちはPhylogenesis。コンピュータのユーザー名「Int(Environ( "Username"))」に基づいてユーザーの従業員IDを検出するコードを作成し、そのデータのみを表示するようにデータをフィルタリングします。シートを保護して他のものにアクセスすることはできませんが、アドバンストフィルタオプションで問題が発生しています。これを無効にするコードに本当に入りたいと思うのであれば、それは可能ですが、これはほとんどのユーザーがこれにアクセスするのを止めることに過ぎません。 –
問題は、Excelの外でファイルを読み取って(またはVBAを使用して)隠しデータを読み取ることができることです。セキュリティ上の理由からこれを実行しているのであれば、時間の無駄です。 – Phylogenesis