• ベストアンサー

1から5までの整数のみ入力可にしたい。

成績処理の入力シートを作っています。 表題のタイトルのとおりなのですが、1から5までの整数以外の入力ができないようにしたいのです。 データの入力規則を使って設定すると、他のシートやブックからコピー&ペーストされると、上書きされてしまいます。 VBAでシートイベントを利用することも考えたのですが、そうするとマクロを有効になるように設定してもらわなければなりません。 VBAを利用せずに何かいい方法はあるでしょうか?

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

  • ベストアンサー
  • suo2k
  • ベストアンサー率44% (183/408)
回答No.2

VBA無しだと「入力できない」ようにするのは無理かと思います。 代価案として、チェック用のセルを別の場所に作るのはどうでしょうか。 入力で触らない場所(下のほうとか)に、IF関数と条件書式とか使って、 間違った数値入ってると赤地に黄色文字で「エラー!」とでも出るようにして、 シート保護してそこだけは変えられないようにする。 入力ミスを軽減するという意味では多少役立つかな…?

CaveatEmptor
質問者

お礼

回答ありがとうございます。 VBAを使わずには無理なようですので、VBAを利用する方向で考え直します。 ありがとうございました。

その他の回答 (2)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 次の様な方法は如何でしょうか?  まず、その「1から5までの整数を入力するセル」の書式設定の[保護]の設定で、[ロック]の所のチェックを外して下さい。  次に、その「1から5までの整数を入力するセル」の横にスピンボタンを挿入して下さい。  次に、そのスピンボタンを右クリックし、現れた選択肢の中にある[コントロールの書式設定]をクリックして下さい。  次に、現れた「コントロールの書式設定」ダイアログボックスの[保護]タブをクリックし、現れた[ロック]と記されている箇所のチェックを外して下さい。  次に、「コントロールの書式設定」ダイアログボックスの[コントロール]タブをクリックし、「最小値」欄を1、「最大値」欄を5、「変化の増分」欄を1に設定し、更に「リンクするセル」欄には、先程の「1から5までの整数を入力するセル」を設定して下さい。  次に、「コントロールの書式設定」ダイアログボックスの[OK]ボタンをクリックして下さい。  その上で、シートの保護を行う際に、「このシートの全てのユーザーに許可する操作」欄内のチェックを全て外してから、シートの保護を行って下さい。  これで、保護をかけたままで、スピンボタンを使ってセルに1から5までの整数値を入力する事が出来ますし(但し、値の消去は不可)、そのシート上の全てのセルが選択する事が出来ない様になっていますから、他のシートやブックからコピー&ペーストされる恐れも無いと思います。 【参考URL】  スクロール バーまたはスピン ボタンをワークシートに追加する - Excel - Office.com   http://office.microsoft.com/ja-jp/excel-help/HP010236682.aspx  富山大学総合情報基盤センター > Excel 2010 > Excel 2010 を使おう Part 2   http://www.itc.u-toyama.ac.jp/el/excel104/f_set-spin01.html

CaveatEmptor
質問者

お礼

回答ありがとうございます。 ほとんど場合は別のエクセルブックからのコピーを利用する人が多いので、お教えいただいた方法を使うことは難しいと思います。 やはりVBAを利用しようと思います。 ありがとうございました。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

>データの入力規則を使って設定すると、他のシートやブックからコピー&ペーストされると、上書きされてしまいます。 入力規則だけの設定では、ご質問のようにコピー貼り付けやドラッグなどの操作で上書きされてしましますので、残念ながら、ご希望の上書きを避けるような設定はできません。

CaveatEmptor
質問者

お礼

回答ありがとうございます。 やはりVBAを使わずには無理なようですね。 ありがとうございました。

関連するQ&A