プロが教える店舗&オフィスのセキュリティ対策術

初歩的な質問で恐縮です。
sheet1にデータ一覧を作成(仮にシート名を「データシート」とします)し、
sheet2へ検索条件を入力するセルとコマンドボタンを配置し、sheet1のデータを「オートフィルタで検索」するマクロを作成しました。
マクロの検証も行い動作の確認も行いマクロの実行してみると、ちゃんとフィルタ処理されており全て完璧!となりました。
ところが、他人への配布も予定していたので、データの改ざんを防止するため、データシートをシート保護して実行したところ、「ロックされているため実行できません」旨のエラーになってしまいました。

やはり、シートの保護を行なってしまうと、マクロであってもオートフィルタ機能は使用できないのでしょうか?
何か解決(保護状態でもオートフィルタ機能が使用可能)方法はありませんでしょうか?
ご教授お願いいたします。

A 回答 (3件)

シート保護は関係ないはずですよ。


何処かでシートを書き換えるような操作はしていませんか?

どうしても解決策が見つからないなら、マクロでシート保護と解除を行う事で解決する方法もあります。
    • good
    • 0
この回答へのお礼

マクロでフィルター処理を行なっているのに、シート保護マクロまでは思いつきませんでした。
早速実行し、無事解決できました。
ありがとうございました

お礼日時:2004/11/01 22:03

下記サイトの『シートの保護をかけるとオートフィルタの機能が使えないのを解消するには 』を参考にして下さい。

私はこれで使える様になりました。

参考URL:http://www.katch.ne.jp/~kiyopon/situmon/kaitou/i …
    • good
    • 0
この回答へのお礼

ありがとうございました。
参考URLを見てみたら、簡単で的確なマクロがありましたね。
ありがとうございました。
ただ、本ページをリロードし締め切りボタンをクリックする間でのアドバイスであったらしく、ポイント加算差し上げることができませんでした。
ごめんなさい

お礼日時:2004/11/01 22:07

シート保護しているとVBAでもオートフィルタは使えないと思いますが、、、


Excel97~2000までしか知らないので、最新バージョンだと出来るのかな?

解決法は#1さんもおっしゃるように、シート解除と保護をマクロ処理ではさむ。

または、シートを保護しない状態で非表示にして、ブックを保護し、抽出結果は別シートに転記する等でも多少は効果があるかも。(VBAで書き換えられたらあきらめる)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!