- ベストアンサー
エクセルでこんなことできます?
データ消去防止のためシートを保護しているのですが、その状態でオートフィルタ機能を使いたく思います。 通常でしたら保護状態ではオートフィルタは使えませんが、何かの作業をすれば使えると聞きました。 その方法を教えてください。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
No3です。 >上記のとおり設定してもシートの中身(文字や数値)を変更することは可能ですよ??? それは変ですね。 いちど別のシートを開いてから戻ってもそうなんですね? だとしたらエクセルをマクロを無効にして開いていませんか?マクロを無効にしていれば当然作動しません。 マクロを有効にしてみてください。 有効にする方法↓
その他の回答 (5)
- ziguzagu
- ベストアンサー率23% (6/26)
項目や計算式の入ったセルだけ保護して、入力用のセルの保護解除、いうことでよいのでしょうか。 以下のやり方でオートフィルタを使えるかどうかわかりませんが、ご参考までに。 最初にワークシートの保護を解除しておきます。 1・入力したいセルの範囲を選択します 2・メニューバーから「書式」をクリックし、 「セル」をクリックします。 3・「セルの書式設定」ダイアログボックスが表示さ れたら、「保護」タブをクリックします。 「ロック」をクリックし「ロック」を□にしま す。それで「OK]をクリック。 これで再びワークシートの保護を行うわけですが、入力したいセルの入力が可能になります。 ピントはずれたったらごめんなさい。
- sanpin-cha
- ベストアンサー率48% (533/1095)
データを頻繁に入れ替えのなら、次の方法はどうでしょうか? シートの保護はしないで 属性を「読み取り専用」にする ファイルを開く前に、そのファイルを右クリック プロパティで設定。 上書き保存ができなくなります。
- shishishishi
- ベストアンサー率39% (362/921)
VBAなら可能です。 必ずファイルのバックアップをとってから試してください。 まずはオートフィルターを設定したシートのタブ(シート名の部分)を右クリック→「コードの表示」 これでVBエディターに画面が変わります。 右の白い広い部分に以下のコード(Private Sub~End Subまで)をそのままコピペ。 これでシートはパスワード1234で保護されました。 Private Sub Worksheet_Activate() ActiveSheet.EnableAutoFilter = True ActiveSheet.Protect Password:="1234", DrawingObjects:=True, contents:=True, _ UserInterfaceonly:=True End Sub ワークシートに戻り、一旦、他のシートを選択してから再度オートフィルターのあるシートに戻り、ためして見てください。
補足
上記のとおり設定してもシートの中身(文字や数値)を変更することは可能ですよ???
- mshr1962
- ベストアンサー率39% (7417/18945)
EXCELのバージョンはXP(2002)か2003ですか? それなら下記を参照してください。 【ワークシートの保護オプションの概要】 http://support.microsoft.com/default.aspx?scid=kb;ja;289269 シートの保護前にオートフィルタの設定は必要です。 Excel97/2000の場合はマクロになると思います。
補足
97です
- snoopy64
- ベストアンサー率42% (337/793)
保護シートをユーザーが手動でオートフィルタの操作をするのは無理なような気がします。 マクロでやるのでしたらできます。 Workbook_Open()の中に Worksheets("Sheet1").Activate ActiveSheet.Protect Password:="12345", UserInterfaceOnly:=True で保護をかけると、ユーザーは変更できないが、マクロからは変更できますので、 オートフィルタをかけるコードをマクロの自動記録を使って記録し、うまいことやってみてください。 頑張ってくださいヽ(^。^)ノ
補足
マクロの設定方法を教えて下さい
補足
読み取り専用を選択できるようにはしております。 ほとんどデータは変えないので誤消去を防止するためにシート保護しているのです。ただオートフィルタは使いたいのです。