こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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

投稿日時 - 2006-02-17 10:59:12

QNo.1971992

暇なときに回答ください

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

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

投稿日時 - 2006-02-17 11:59:41

お礼

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

投稿日時 - 2006-02-17 18:26:20

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

「ツール」「変更履歴の記録」を使えばいいのでは?
新規入力・変更・削除した時間付きで以前のデータを確保しています。

これ以外だとマクロと入力規則の併用になるかと思います。

投稿日時 - 2006-02-17 11:44:59

お礼

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

投稿日時 - 2006-02-17 18:24:28

不可能だと思いますが・・・。
もし入力している人が間違えて、それを修正したい場合はどうするのですか?
同じ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

投稿日時 - 2006-02-17 11:42:52

お礼

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

投稿日時 - 2006-02-17 18:23:15

あなたにオススメの質問