• ベストアンサー

エクセルの質問です。

エクセルの質問です。 エクセルである箇所を入力規則で縛りを入れているのですが、どこからかセルをコピーして入力規則以外の文字を入力されてしまいます。 シートの保護をしてしまうと、入力規則での選択が不可となってしまいます・・・。 入力規則だけは選択できて、コピーなどは出来ないように制御をかけたいのですが良い方法はありませんか? なお、できればマクロは使いたくありません・・・。 是非、よい方法をご教授ください。

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

  • ベストアンサー
  • don9don9
  • ベストアンサー率47% (299/624)
回答No.2

マクロなしで、という前提なら無理だと思います。 マクロありでも、完璧に防ごうとするとすごく複雑になります。 貼り付け操作が、色々なやり方で出来てしまい (Ctrl + V、メニューバーで編集>貼り付け、マウスでドラッグ、など) これらを全部ブロックしなければならないからです。 仮に全部マクロで制御をかけたとしても マクロを無効にしてファイルを開かれたらやっぱり防げません。 これを回避するためには…なんてことも考えないといけません。 結構、難しい要求なんです。 http://www.excel7.com/trouble19.htm こちらを参考になさってはいかがでしょうか。 具体的にいくつかのコピー&ペースト操作をさせないマクロのコード例もありますし それとは別の、マクロを使わない方法も紹介されています。 ただしこれは「コピー&ペーストさせない方法」ではなく 「コピー&ペーストされた結果、無効な値が入った場合、それを検知する方法」 になってしまいますけど。

supacoco
質問者

お礼

やはり、そうなんですね! でも、マクロ以外でも回避方法がいくつかあることがわかって大変勉強になりました! この方法で少しは回避できると思うので、やってみます!ありがとうございました!

その他の回答 (3)

回答No.4

もう一案(代替案2) 先ほどの回答と併用可。 入力規則のかかっているセルの隣に作業列を設け、入力規則にそぐわない値が入ったら、 コピペ禁止!! と表示されるようにしておき、さらに条件付き書式でそのセルを赤くする。 たとえばB列(B1)に =IF(A1>20,"コピペ禁止!!","") 同じくB列条件付き書式を設定する

supacoco
質問者

お礼

なるほど! そういう手もありますね。 エラーを出すことしか出来ないなら、その方法がよいかもしれません! ありがとうございました!

回答No.3

代替案 入力規則のかかっているセルに塗りつぶしを行い、シートの保護をかけておいてはどうでしょうか? コピペで色が変わってしまうので、抑制効果があると思います。 それに、色が変わっていれば修正もしやすいと思います。

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.1

セルの書式設定 - 保護 で、ロックのチェックを外せば、シートを保護してもそのセルは保護されなくなります。

supacoco
質問者

お礼

ご返答ありがとうございます。 言葉が足りなかったようです・・・。 教えていただいた方法は知っていたのですが、 ロックをはずすため、別のセルをコピーしてそのセルに持ってきてしまうと、 その部分は入力規則がないセルとなってしまうのです。 そのコピーをさせたくないわけです。 たとえば、 Aの列を全て入力規則をいれ、ロックをはずして保護をかけたとします。 ですが、A1のセルにB1のセルをコピーしてしまうと、入力規則が外れることになります。 それを回避したいのです。 わかりづらくて申し訳ありませんが、是非教えてください。