• ベストアンサー

エクセルの質問です。

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

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

  • ベストアンサー
  • 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のセルをコピーしてしまうと、入力規則が外れることになります。 それを回避したいのです。 わかりづらくて申し訳ありませんが、是非教えてください。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • EXCELの入力規則について質問です

    EXCELの入力にセルに関数が入っている為、 入力規則を使って指定したセルに全く 文字入力をさせない方法を 考えているのですが、やり方がわかりません。 前に「シートの保護」で教えて頂いたのですが、 データを追加する場合は使えないので、 「シートの保護」、VBAでを使わない方法で、ご存知の方、 教えて下さいます様よろしくお願いします。 もし、出来ない様でしたら、「シートの保護」、VBA以外の方法でしたら 構いませんので、よろしくお願いします。

  • エクセルのマクロでセル選択するには

    初心者です! エクセルのSheet1に30箇所のセルをマクロで選択したいのですが、 たまに選択するセルが変わります。 そこで、Sheet2のA1から下へSheet1の選択する位置を「B2」「C5」「D10」・・・としてマクロで一発で30箇所のセルを選択する方法を教えてください Sheet2のA1から下へ入力するセル位置はその都度変化します。 変化したときにそのマクロを実行すると選択できるといいのですが!! よろしくお願いします。

  • Excelでsheetに保護をかけたらマクロは動きませんか?

    マクロ初心者です。 Excelでsheetに保護をかけてしまうとマクロは動か なくなるものなのでしょうか?ちなみに、マクロで コピー等の処理を行うセルのロックは解除しておいた のですが…。 sheetを2つ作って、一方の保護付きsheetに情報を 入力をしておき、もう一方の保護無しsheetに同じ 情報をコピーした上でマクロ処理させる、という 方法は考えたのですが、もっとスマートな方法を ご存知でしたら教えて下さい。よろしくお願い致し ます。

  • エクセル 複数シートに入力規則の設定を一度にする方法

    タイトル通りの質問なのですが、可能でしょうか?また 複数シートに一度に保護の設定(セル指定の入力可と不可)をすることは可能ですか? 既にシートがたくさんあり、ひとつづつ設定するには大変な作業になってしまうので・・・ Ctrlキーを使い 複数シートを選択すると 保護も入力規則も 選べなくなってしまいます。 エクセル2000です、宜しくお願いします。

  • Excelのコピーや関数について質問させていただきます。

    Excelのコピーや関数について質問させていただきます。 2点あります。 山田太郎 休 ◎ ○ 遅 佐藤一郎 ○ ◎ 休 休 上記のようなリストを作りました。 ※シフト表で、休、◎、○、遅などは入力規則を設定し、選択できるようにしました。 ※“休”の場合は、条件付き書式で文字が赤くなるように設定しました。 1点目の質問です。 過去のデータ(既にシフト表が完成している状態)に、リフレッシュ休暇の“リ”を入力規則で加え、条件付き書式で文字が赤くなるようにしたいのですが、セル1つは変更できても、他のセルに一気にコピーする方法はありませんか? 入力規則は全体にコピーできたのですが、条件付き書式だけをコピーする方法が分かりません。 2点目の質問です。 最後の列に、“休”や“リ”など、全ての休みの合計数を入れたいと思っています。 どの関数もうまくできなかったので、とても困っています。 どのような方法があるでしょうか? 以上2点です。 説明不足でしたらすみません。お手数ですがご指摘下さい。 また、マクロなどは知識がないため、マクロを使わずにできればと思っています。 よろしくお願いします。

  • エクセル 文字の不足を検出させる方法

    エクセル2003使用  例とし、A1~A9の9箇所のセル(都度入力する箇所はこの範囲内で変わります)に △□◎○×▽ の6個のいずれかの値(文字)を入れるのですが、この6個の文字が1つでも、もれていたら何らかのエラー表示(セルの色が変わるなど)をさせる事はできないものでしょうか?(可能なら6個の文字(△□◎○×▽)の何が不足してるかわかればなお良いのですが)  条件付書式やマクロなどで対応できないでしょうか。よろしくお願いします。(△□◎○×▽は入力規則のリストから選択するようにしてあります)

  • 【エクセル】コピー禁止(保護)でセルの選択は可能ですか?

    エクセルで、シートの保護を設定した(右クリックコピーを禁止)状態で セルを選択し計算式を確認できるようにしたいのですが 方法がわからず困っています。 コピーは不可&セル内の計算式のみチェックできるような設定は ありますか? 詳しい方よろしくお願いいたします。

  • シートを保護したらマクロがきかない?

    マクロもクエリも全くの初心者です。 仕事で他人が作成したエクセルデータを加工しなければなりません エクセルです 例えばSheet1上で、  セルA1 マクロ設定されており、クリックするとUserFormウィンドウが      開き、入力値を選択できるようになっている      →保護しておきたい  セルB1 文字列が入力されている      →保護の対象外にしたい。  セルC1 数式が入力されている      →保護しておきたい という状況で、 まずやってみた方法は「セルの書式設定」→「ロック解除」などを した上でシート保護をかけたのですが、セルA1のマクロも無効に なってしまいます。 個人的には入力規則等で対応できるかと思うのですが、 マクロの解除は不可能と(会社から)指示がありました。 マクロは不勉強ですので、何とか簡単に変更したいものなのですが やはり VBAコマンドでの(Activesheet.Unprotect?) 変更が必要になるのでしょうか? この機会にVBAに触れておくべきと考え質問さえていただきました。 そもそもアラ40の私に理解できうるものか不安を感じますが・・(汗) EXCELは2007だったと思います。(Verによって異なりますか?) 大変無粋ですが、初心者向きにご回答いただければ幸いですm(__)m

  • エクセルの保護と参照

    エクセル2000を使っています。 二つ質問があります。 ひとつは、一部のセルだけ保護をしたいのですが、どのようにしたら良いのでしょうか? 例えばAの行だけ全部保護をしたいの場合です やりたい部分を選択しメニュー-書式-セルで保護をオンメニュー-ツール-保護-シートの保護だと聞いたのですが、これですと、B行も保護されてしまい入力が出来ません もうひとつは参照です あるファイル仮に「あ」という名前のファイルに「い」というファイルの一部の列をそっくり、参照したいのです。そこにはセルには色が入っており、セルには文字が下位っています。(色だけで、文字が入っていないセルもあり) これはどのようにやったら、簡単に出来るのでしょうか? 今、聞いたやり方は、ひとつのセルごとに=を使って式を入れる。コピーは出来ない。色はやり方がわからないので、それぞれ選択をして塗るとのことでした。 他に方法はありませんか? 分かりにくい説明ですみません、補足は入れますのでよろしくおねがいします。

  • エクセル:文字コピーすると0と表示されてしまう

    エクセルにおいてSheet1の文字(セル結合箇所)をSheet2へコピー(セル結合箇所)すると 0(ゼロ) と表示されてしまいます。文字をコピーするにはどうしたらよいでしょうか。

専門家に質問してみよう