• ベストアンサー

エクセルでセル単独ごとにパスワードを設定する方法

こんにちは。 今、会社で社員カードの管理表を作成しています。 エクセルで作成しているのですが、社員名を入力した後、その隣りに社員カード番号を入力しています。(社員数は50名強です) そこで、その社員の方のみ社員カード番号の確認が出来るよう、各セルにロックをかけることが出来ればなと思ったのですが、 エクセルでシートの保護ではなく、セル単独ごとにパスワードを設定することは可能でしょうか?

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.4

セル単位のパスワードとは少し意味が違いますが、条件付き書式とシート保護を組み合わせると、多少希望に近いものはできるかもしれません。 例えば A4セル:氏名、B4セル:カード番号、C4セル:表示用個人パスワード をそれぞれ入力します。 そしてA1セルは社員が表示用パスワードを入力するセルとします。まずB、C列の文字色は白色にします。 B4セルに対して表示条件付き書式で 「数式が」「=$A$1=C4」の時、文字色を黒にする 「数式が」「=$A$1<>C4」の時、文字色を白にする の二つの条件を設定します。 パスワードを入力するA1のみセルの保護を外し、その他のセルは全て保護状態にした上で、「ツール」→「保護」→「シートの保護」を選択し、「ロックされたセルの選択」のチェックを外してから保護をかけます。 (この保護はセル範囲を選択すると白色の文字が薄く見えてしまうことを防ぐためにしています) 以上の手順で社員がA1セルに自分の正しい表示用パスワードを入れたときだけカード番号が表示されるようになります。実際には50人分のデータがありますからB4をコピーして「編集」→「形式を選択して貼り付け」→「書式」で条件付き書式を他の行にもコピーして下さい。

uri-hamu
質問者

お礼

ありがとうございます。 まさに理想通りで感激です!!

その他の回答 (3)

  • NoBi18
  • ベストアンサー率53% (7/13)
回答No.3

一度に60~80名程度のパスワード一覧を作成し、短冊状に切って配布しています。数千人ならともかく、50名なら何とかなるのでは?社員の方なら給与明細に同封すればOKでしょう。 パスワードと違って、社員カードは一度設定したら変更することはないはずですから、それで十分だと思います。

uri-hamu
質問者

お礼

今回はパソコン上で管理する必要がありましたので…。 ありがとうございます。

  • S-Fuji
  • ベストアンサー率36% (592/1624)
回答No.2

エクセルの標準機能では出来ないですね。 VBAを使ってみては如何でしょうか?。  50名分のパスワード表は別のシートかブックに書いておき、そのセルが見えない状態にしてシートの保護をしておけば良いかと思います。 WBAでは、セルの位置を判別し、当該のセルに対応するパスワードセルとの照合を行えば出来そうですね。

uri-hamu
質問者

お礼

VBAでのパスワード設定は今までやったことがありませんので、 これを機会に勉強してみます。 ありがとうございます。

  • NCU
  • ベストアンサー率10% (32/318)
回答No.1

セルごとにパスワード保護する機能はありません。 (VBAでそれらしい機能は作れます。) どのみちExcelの保護は貧弱なので、パスワードを含んだシートを参照させる時点でセキュリティ上の穴になります。 どうぞ見てくださいと言っているようなものです。向きません。

uri-hamu
質問者

お礼

やはり無理なのですね。 ありがとうございます。

関連するQ&A