• ベストアンサー

エクセルシート内での閲覧制限

エクセルにて、30店舗分の仕入実績表を作成しています。 これを各店にメールしなければならないのですが、 上からの指示にて自店の実績のみ分かるように送らなければなりません。 (3番店なら3番店の実績のみ。他店の実績が分からないように) その為、現在は店番でフィルタをかけて、1店舗ずつコピー&貼り付けで 送っているのですが、大変な手間がかかり困っています。 1シートをそのまま全店にメールして、各店は自店分のみを閲覧出来るような、何か良い方法はないでしょうか?

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

  • ベストアンサー
  • suzusan7
  • ベストアンサー率64% (22/34)
回答No.1

こんにちわぁ 考え方としては シートに保護をかけて、保存するマクロと パスワード管理するマクロを作る必要があるかと思います。 保存のマクロは、シート保護をし、 ダミーシートに切り替えてファイルを保存し、 その後シートを元に戻すマクロ。 (ダミーシートはオートフィルの空白でもよい) 管理するマクロはファイルオープン時に パスワードの入力を求め、 そのパスワードによってオートフィルをかけて シートを保護するマクロ。 起動時にマクロを無効にしたり、 設定されていないパスワードが入力されれば そのままダミーシートが表示され中は見えない。 店舗ごとの正しいパスワードが入力されれば オートフィルされて、結果を見ることができるが シートに保護がかかっているため、 オートフィルを変更したり、行を再表示することはできない。 つまり必要箇所以外を見ることはできない。 あとは、管理用パスワードを作成しておき、 それが入力されれば、保護を解除する。 (毎回シートの保護を外してもよいかな) ただし、データは残ったままなので、パスワード管理と、 マクロで保存することに気をつける必要がありますけどね。 イメージはこんな感じでしょうか

RACER-X
質問者

お礼

回答ありがとうございます。 回答を頂くまでの間、私も同じような事を考えていました。 大体イメージが固まりましたので、後は実際に完璧なマクロを 組めるように勉強してみたいと思います。

その他の回答 (1)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

こんばんは。 Excel のパスワードは簡単に突破できる程度のものなのです。 したがって、どのような方法にするかの判断基準は   「どの程度秘密にしておかなければならないか?」 ですよね。ここで、次の仕様について考えてみます。 > 1シートをそのまま全店にメールして、各店は自店分のみを閲覧出来るような、 この仕様は上述の理由で、絶対に漏れてはならないなら止めた方がいいです。 面倒でも現在の方法が一番確実ですし、この方法を採用するなら、事前に 上司の許可も必要になりそうです。また、これを VBA で実装するのも結構 大変です。 発想を切り替えて、現状の手作業で行っていること、つまり、店舗別に ブックを切り分ける作業までを VBA による自動化で検討してみては どうですか? まずは、実際のデータに限りなく近いサンプルデータを提示してみて 下さい。

RACER-X
質問者

お礼

回答ありがとうございます。 やはりエクセルでそこまでの管理は難しいですよね・・。 提案された通り、店舗毎にブックを分ける作業の方が簡単そうなので まずはそちらを検討してみたいと思います。

関連するQ&A