[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『入力済のセルにアクセス出来ないようにしたい』(高齢初心者)
不特定多数の人が入力する表を作成しました。初心者が多く入力して欲しい
セルにはリストの中から選べるようドロップダウンを採用しました。しかし既に入力しているセルにアクセスして壊してしまう事が有ります。
そこで入力済セルにはアクセス出来ないように設定したいのですが
方法が解りません。この表は同一シート内でドラックコピーしてページ数を増やして行きたいのでシートの保護は使えないと思います。
方法を教えて下さい。
< 使用 Excel:Office365、使用 OS:Windows10 >
あと、セルを壊すと言っていますが、どのように壊すのでしょう? 他のセルをコピペして入力規則を無くしてしまう事を言っているのか、DELキーで値を消してしまう事を言っているのか。 一旦選んだ選択肢を、別の内容に選び直す、という行為も禁止ですか? 随分と人間のミスに厳しい考えに思いますが、それは使いにくくないですかね?
(???) 2020/01/08(水) 15:59
If Target.Value <> "" Then Target.Next.Select End Sub (mm) 2020/01/08(水) 16:05
Private Sub Worksheet_Change(ByVal Target As Range) Dim R As Range
With Sheets("Sheet2") For Each R In Target If R.Value <> "" Then If .Range(R.Address).Value <> "" Then Application.EnableEvents = False R.Value = .Range(R.Address).Value Application.EnableEvents = True Else .Range(R.Address).Value = R.Value End If Else .Range(R.Address).Value = "" End If Next R End With End Sub
一旦選んだセルは、他の値にしようとしても、元に戻してしまうロジックです。 なお、DELキーで削除する事は許しており、削除した後は他の値を選択できます。
(???) 2020/01/08(水) 16:14
>そこで入力済セルにはアクセス出来ないように設定したい
タイプミスは初心者じゃなくてもあることです。
ご記入の修正が出来なくなるのは賛成できません。
また、複数行を一度に編集できるのも、
エクセルのいいところなので、
その仕様を拒否することも賛成できかねます。
マクロを作ったら、そのような制御も可能かと思いますが、
だれがメンテナンスするのか?
と考えたらお勧めできません。
1案として、
フォーム機能を使って入力・修正するということが出来るかも知れません。
が、入力規則のリストがそこで使えるかどうかは定かではありません。
この辺は実験して使えるかどうかを確認願います。
2案目として、
表をテーブルとして設定してはいかがでしょうか?
マウスでのフィルダウン機能でのコピーで誤操作が頻発するならば、
フィルダウンを使わないというルールで運用してはいかがでしょう。
テーブルとして設定しておけば、数式部分は行が増えたときに、
勝手に数式が入るようになります。
(勝手に表が拡張される。)
また、上の行をコピーするときは、
Ctrlキー+Dキー 押下で、上をコピーできます。
手がマウスとキーボードをうろうろするほど入力作業に時間が掛かりますし、
誤操作も多くなるかと思います。
(キーボードを職人的に駆使することが逆に難しいと感じるかもしれませんが^^;)
他には、
バックアップソフトを別途導入し、
1日1回バックアップを行いその履歴を5回分くらい残しておけば、
間違って変更した箇所も復元可能になるのではないかと思います。
(まっつわん) 2020/01/08(水) 18:44
その人が入力したものまで修正不可というのは、
そんな殺生な、という感じです。
慣れない人ほど修正はありそうだし、
それ禁止されたらパニクって、何をしてくれるかわかりませんよww。
人道的見地からもそれはやめたほうがいいいです。
(γ) 2020/01/08(水) 19:02
A B C D E F G
1 巡 回 報 告 書
2 報告者 班名
3 日付 月 日 曜日
4 巡回地
(高齢初心者) 2020/01/15(水) 11:36
私のコードは試しましたか?(シートモジュールに貼り付けます) 手取り足取り教えろ、じゃなくて、判らない箇所はご自分でWeb検索やヘルプで調べて、それでも判らないような点をピンポイントで質問してください。 余分な事まで書くつもりはないですからね。 実現したいのは貴方であって、回答者はその手助けをしているだけです。 自力で歩こうとしていない人を、おぶってまで移動を助けるつもりはありませんよ。
一度入力すると、それを書き換えようとしても、すかさず元の文字列に戻すコーディングにしているので、最初から入力しておく部分があるならば、その文字列もワークシートにコピペしておけば、同じように書き戻されるようになりますが、それでは駄目なのですか?
(???) 2020/01/15(水) 11:53
こうした基本的処理ではどこに支障があるのかを
箇条書きで説明して下さい。
(γ) 2020/01/15(水) 13:08
未報告の中で変わっちゃうのは、報告時にチェックしてもらうしかないかなぁ。。。。
初心者を強調されるなら手の込んだことを思いつかない方がよいかと。
頑張っていろいろ出来るようになりたいなら、
アドバイスをもらいながら勉強したらいいかと思います。
(まっつわん) 2020/01/15(水) 13:30
■1
>当方初心者です、手取り足取りの様な解説をお願い致します。
私見ですし、年配の方にこのように言うのは気が引けますが、こちらは「質問掲示板」であり「業務サポートセンター」ではありませんので、それは難しいのではないでしょうか。
■2
また、こちらも私見ですが、既に提案を受けていらっしゃるように「マクロ」を使えば有用性・利便性はともかくとして、仰るようなことは可能と思われますが、これを機会にマクロを学んでみようと思われるのでなければお勧めしません。
[[20181203092914]] 『出納帳』(70の爺さん)
↑の方のように誤解してほしくありませんが、マクロを使う場合どうしても"自力"でメンテナンスする必要が出てきます。
前述のように、これからご自身が主体となってマクロを学んでみるつもりであれば、分かる範囲で助言することはできますが、回答者側でマクロを作成して1から10まで説明してほしいというようにお考えなのであれば、きちんとしたところに対価を払って頼むべきです。
(授業内容が決まっているようなパソコン教室だと個別の対応は難しく、システム開発を仕事としている人に個別に頼む必要がありそうですから敷居は高いように思います。(私が知らないだけで、個別指導のパソコン塾は存在するのかもしれませんが・・・))
■3
なお、Excelでは一般的に「列文字、行番号」の組み合わせでセルを表現します。
したがって、 2D、3B ... → D2セル、B3セル....のようにアルファベットを先にされると伝わりやすいと思います。
■4
ついでに、C2(班名)、D2(氏名)のどちらも、入力規則でリストから入力してもらっているとのことですが、別シートにでも対応表を用意しておけば、Vlookup関数で「班名」は自動的に表示させられるとおもいます。(=班名を間違って"入力"されなくなる)
同じ考えで、3【行目】のB,C,F【列】は「月、日、曜日」となっていますが、Excelの場合「"年"月日」が分かれば、曜日は自動で表示できます。
さらに、年月日をまとめて1つのセルに入力するようにすれば、例えば「2019年2月29日」のように、あり得ない日付をいれても気付けるようになると思いますし、数式(関数)で、"日付"から「月、日、曜日」を別々のセルに自動表示させることも可能です。
したがって、操作ミスを絶対許さないということを考えるより、入力等がしやすいレイアウトにしてやり、出来るだけ操作を減らしてミスが誘発されにくくすることを考えた方が目的に近いと思います。
■5
ちなみに、↓は論点がずれていませんか。
>末に印刷されている記入不要な枡(セル)に記入する人はおりません >誤って入力済のセルにアクセスして元の値を変更してしまう危険が有ります。
前者は、セルのロックをした上でシートの保護を設定することで入力できなくすることが可能ですし、選択すらさせなくすることもできます。
「この表は次々にコピーして1年間使用しグラフ作成に直結させておりますのでシート保護の手法は使用不可」については、表をコピーするときに、一時的にシート保護を解除するだけで済みます。
後者は、(紙なら書いてある上から文字を書く人はいないが、)PCですと誤って〜とのことなら、紙でもPCでも、既に何かが書いてある(入力してある)上から、"うっかり”書く人は居ないんじゃ無いでしょうか?
故に、紙でもPCでも【新しく書く】なら【空欄】に書くのであって、間違えて記入(入力)したからこそ【修正】するために【記入(入力)済の欄(セル)】に上書きしたくなるのではないでしょうか?
(もこな2) 2020/01/15(水) 15:40
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.