プロが教える店舗&オフィスのセキュリティ対策術

エクセル2010です。
あるセルには必ず入力が必要なので、入力規則でリストを設定し、「空白を無視する」のチェックを外しました。
これで、BackSpaceキーで削除した空白値に対してはエラーメッセージが表示されるのですが、Deleteキーで削除した空白値はエラーにならず許可されてしまいます。
これではほとんど意味がありません。

VBAでなら対処できますが、入力規則では無理なのでしょうか?

A 回答 (2件)

入力規則の「Deleteキー」と「BackSpaceキー」に関しては、個人的には変に納得しているので解答させてもらいます。




>・・・「空白を無視する」のチェックを外しました。
>・・・BackSpaceキーで削除した空白値に対してはエラーメッセージが表示される・・・
>・・・Deleteキーで削除した空白値はエラーにならず許可されてしまいます。

 まず確認ですが、Deleteキーの挙動は「空白を無視するのチェック」とは関係ありません。オンでもオフでも同じです。どちらもメッセージは出ません。

 添付図で説明すると、BackSpaceキーで削除した時点では、ステータスバーの左下を見ると「入力」モードです。従って、Enterキーなどで確定すると入力規則が働いて空白なら「空白を無視する」のチェックを外せば、メッセージが出るわけです。

 Deleteキーはというとステータスバーは「コマンド」となっておりコマンド待ちで「入力」モードではありません。入力規則が適用されなかったことになります。

 どう納得したかというと、添付図のセルB6、B7は入力規則を設定して空白なのに何のメッセージも出ません。添付図ではセルB4の入力値をDeleteキーで削除しましたが、これはセルB6、B7と同じ状態(入力前)にしたのだと理解しています。当然、入力規則の適用範囲外です。


>あるセルには必ず入力が必要なので

 これがよく分からないです。「入力」の定義がよく分かりませんが、あるセルに入力する前は「未入力が許された状態」で、一たびそのセルに入力しようとすると「何らかの入力必須」に変えようとしているように思えます。

 入力をやめようとすると、入力しようとする人にとっては未入力は不可なので「とりあえず何でもいいから入れとけ」となりがちです。入力項目がたくさんあるとありがちです。実務でよく見かけます。

 で、どのように対応しているかというと、あくまでも入力規則は入力を楽にしてくれる弱い制約だと認識し、次の処理に移るときに綿密なチェックをするようにしています。

ご参考に。
「エクセルの入力規則で「空白を無視する」」の回答画像2
    • good
    • 0
この回答へのお礼

なるほど、「入力」と「コマンド」の違いですか。
ありがとうございます。

お礼日時:2014/06/21 16:19

入力規則は万能ではありません。


コピーして貼り付けた値にも反応しなかったりしますよ。

そんなわけで、そのセルの値を利用する計算式で対処するのが王道ですね。
    • good
    • 0
この回答へのお礼

ありがとうございます。
おっしゃる通りですね。

お礼日時:2014/06/21 16:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!