- ベストアンサー
エクセルで入力規則の設定のあるセルの関数変更
エクセルで入力規則の設定(不正なデータが入力されたらエラーメッセージを表示するにチェック) のしてあるセルに入力されている関数を変更する場合、 一度入力規則は解除しなくてはいけないのでしょうか。 私の場合、セルを選択して数式バーで変更をかけてエンターキーを押すと、 変更した関数も不正なデータととられてエラーメッセージが出てしまいます。 関数を少し変更したいとき、いちいち入力規則を解除するのはめんどくさいので、何とかならないのでしょうか。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
御質問の主旨からは若干外れるかも知れませんが、入力規則は不都合なデータが入力される事を防ぐためのものですから、通常は手入力を行うセルに対して設定するものです。 関数が入力されているセルの値は、他のセルのデータを基にした計算により、自動的に決まってしまいますから、関数が入力されているセルに、データが手入力される事は、普通はありません。 つまり、関数が入力されているセルには、入力が行われる事が無いのですから、入力規則を設定する意味が無い事になります。 関数が入力されているセルの値に制限を加えるのでしたら、そのセルの値を決定するために必要なデータの手入力が行われる、大元の参照先のセルに入力規則を設定されるべきだと思います。 もし、関数がみだりに変更されない様にするのでしたら、入力規則ではなく、シートの保護機能を使用するのが適切だと思います。 ですから、この御質問に対する回答は、 「関数が入力されているセルの入力規則を全て解除し、代わりにデータを手入力するセルに対して、適切な入力規則を設定する」 という事になります。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17070)
質問者には唐突なことかもしれませんが 入力規則の設定の操作をして、マクロの記録を採ると Range("A2:A10").Select With Selection.Validation .Delete ・・・ となってDeleteが毎回入るのが気になってました。 それからして、一旦そのセル(範囲に)設定してある入力規則は解除(抹消)してでないと 新しい入力規則は設定されないと推測します。 ーーー 入力規則が値の範囲などの場合の上限・下限値は随時そこだけを変えることが出来るようです(確認)。 でもOKを押す直前の値で再設定している仕組みなのかも知れません(内部的なことはわからない)。 >セルを選択して数式バーで変更をかけてエンターキーを押すと 入力規則のユーザー設定(数式を使うのはこのケースのはず)の数式を入れるボックスでの変更と 数式バーの数式を変えるのとは別物のはず。どういうことか説明が必要では? 数式バーで関数を入れるときのセル番地などのA1などの入力が、入力規則の制約に引っかかることは当然ありえる。 入力規則の設定は、関数を入れるセル(手入力は必要ない、かつデータを手入力してはならない)ではなく、素の手入力などを行うセルに限られるのは通常の話ではないですか? 入力規則はデータ入力のときだけ効果を発揮する。 実験 A3に4を入れる A5に=a3+5 で9になっています。 A4:A10に値が10から20までを設定。 A5は変化なし。 A3を1にしてもA5は6となるだけで、排除されない。 こういうことを認識して、質問を考え直すべきかと。
お礼
ご回答ありがとうございます。 質問の意図が伝わりにくかったようですいません。 入力規則を解除して対応するようにします。
こんばんは。私はあまり詳しくないのですが 空いているセルに、新しい関数を入力して ドラッグして、もっていけば 挿入先のセルだけ、上書きされるかもしれません。 もし、意味が違っていたら、ごめんなさい。
お礼
回答ありがとうございます。 確かにその方法を使えば入力できるかもしれません。 試してみます。
お礼
回答ありがとうございます。 もともと対象としているデータは私の作ったものではなかったので、作成者に確認したところ、 ご推測のように関数を変更されることを防ぐために入力規則を入れたようです。 シート保護に切り替えるようにいたします。