| 
    
     |  | ▼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列の値とを比較しています。
 試してみてください。
 
 
 |  |