|
そーいうことなら、セル入力イベントの 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
ということです。
|
|