• ベストアンサー

エクセルの保護についておねがいします。

部分的(記入した部分を)保護する方法で、記入するこごとに保護され訂正できなくすることはできるでしょうか?無理ならば 其の日の終わりに毎日部分保護をするのでしょうか?この表はいろいろな人が書き込みます。(玄関でビジッターの人が自分の名を記入する表です) ほかの人が書いたものを消せなくしたいのですが?

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

  • ベストアンサー
  • cockerel
  • ベストアンサー率46% (253/548)
回答No.3

>玄関でビジッターの人が自分の名を記入する表です その種の用途で直接セルに入力させること、および過去の入力済みセルを閲覧可能にすることは、個人情報の保護やデータが改ざんされる危機の観点からあまりよい方法でないようにおもわれます(その種の心配は無用であれば無視してください)。 ダイアログボックスを使用して入力させて、それを記録するためのシートは不可視にしておくような方法を採用するとよいかと思われます。 1. 入力ボタンを押す 2. 入力ボックスを表示する 3. 必要事項を入力する 4. OKボタンを押す 5. OKボタンもしくは所定時間の経過により記録シートに転記 という手順が一例として考えられます。

borotonbi
質問者

お礼

有難うございました。やはり帳票形式のようなほうになりそうですね。つい横着イージーウエイにはしりました。

その他の回答 (2)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

「ツール」「変更履歴の記録」を使えばいいのでは? 新規入力・変更・削除した時間付きで以前のデータを確保しています。 これ以外だとマクロと入力規則の併用になるかと思います。

borotonbi
質問者

お礼

ありがとうございました。早速試してみたいと思います。

noname#123709
noname#123709
回答No.1

不可能だと思いますが・・・。 もし入力している人が間違えて、それを修正したい場合はどうするのですか? 同じPCで違う人間が入力しているというのをどうやって区別するのでしょうか? 下記のような感じで何かが入力されたセルはロックすることが可能ですが、 入力した本人にも修正できませんし、ユーザーの区別もつきません。 ※最初にシート全体に対してセルの書式設定で保護タブの「ロック」から チェックを外しておく必要有り。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim A As Range, B As Range Set A = Range("A1:C10") ActiveSheet.Unprotect password:="123" For Each B In A If B.Value <> "" Then B.Locked = True Next ActiveSheet.Protect Contents:=True, password:="123" End Sub

borotonbi
質問者

お礼

有難うございました。 この線で考えて見たいと思います。

関連するQ&A

専門家に質問してみよう