| 
    
     |  | こんにちは。 
 >入力規則では一括りにならないのですね。
 まず、同じ内容ではありませんから、後から検索されることを考えて、別のほうが良いかと。
 あと、誰が解決にするのか、という問題も発生しそうですし。
 
 まず、シートのイベントで判定するほうのサンプルを作ってみました。
 面倒なので、常に1セルしか変更されないとします。
 Private Sub Worksheet_Change(ByVal Target As Range)
 If Not IsNumeric(Target.Value) Then Exit Sub
 Select Case True
 Case Target.Value >= 1000
 MsgBox "1000以上"
 Case Target.Value < 999
 MsgBox "999未満"
 Case InStr(Target.Value, ".") > 0
 If Len(Target.Value) > InStr(Target.Value, ".") + 2 Then
 MsgBox "小数点以下の桁数オーバー"
 End If
 Case Else
 MsgBox "OK"
 End Select
 End Sub
 
 >値を確定する時に、アクティブなセルを変更されてしまうというのが盲点でした。
 こういう場合は、ActiveCell ではなく Target を使います。
 
 |  |