| 
    
     |  | そーいうことなら、セル入力イベントの Target に対して制限を 付ければよいのです。例えば B1:B10 の範囲のみ有効とするなら
 
 Private Sub Worksheet_Change(ByVal Target As Range)
 Dim MyNum As Long
 
 If Intersect(Target, Range("B1:B10")) Is Nothing Then Exit Sub
 '↑これを追加する。
 With Target
 If IsEmpty(.Value) Then Exit Sub
 If Not IsNumeric(.Value) Then Exit Sub
 End With
 With Application
 MyNum = .InputBox("数値(整数)を入力してください", Type:=1)
 If MyNum = False Then Exit Sub
 .EnableEvents = False
 Range("A1").Vlue = MyNum
 .EnableEvents = True
 End With
 End Sub
 
 B1 単独のセルにしたいなら
 
 With Target
 If .Count > 1 Then Exit Sub
 If .Address <> "$B$1" Then Exit Sub
 '↑の2行を追加する
 If IsEmpty(.Value) Then Exit Sub
 If Not IsNumeric(.Value) Then Exit Sub
 End With
 
 ということです。
 
 |  |