|
▼tom さん:
おはようございます。
>VBA超初心者です。
>B列に予め数値が入力されており、
>A列に数値を入力したとき、その数値が
>B列より30以上小さいときに、
>msgboxでコメントを表示するようにしたいのですが
>どのようにしたらよいのでしょうか
>
>(例)A1に入力 ⇒ B1-A1>=30 の時実行
> A2に入力 ⇒ B2-A1>=30 の時実行
> 続く…
>
>A列は空白の時もあります。
>実行は、A列に数値が入力されたときだけです。
当該シートのシートモジュールに
'====================================================
Private Sub Worksheet_Change(ByVal Target As Range)
Dim tgt As Range
If Not Application.Intersect(Range("a:a"), Target) Is Nothing Then
For Each tgt In Application.Intersect(Range("a:a"), Target)
tgt.NumberFormatLocal = "G/標準"
If IsNumeric(tgt.Text) Then
If Val(tgt.Offset(0, 1).Value) - tgt.Value >= 30 Then
With tgt
MsgBox .Address & " は、" & .Offset(0, 1).Address & " より30以上小さい"
End With
End If
End If
Next
End If
End Sub
上記のイベントプロシジャーを記述してください。
これで当該シートのA列にデータを入力して試してみてください。
A列に入力された数値と同行のB列の値とを比較しています。
試してみてください。
|
|