Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


39903 / 76732 ←次へ | 前へ→

【41933】Re:データを更新したときに実行するマクロ
発言  ichinose  - 06/8/26(土) 11:30 -

引用なし
パスワード
   ▼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列の値とを比較しています。
試してみてください。

1 hits

【41927】データを更新したときに実行するマクロ tom 06/8/26(土) 10:33 質問
【41933】Re:データを更新したときに実行するマクロ ichinose 06/8/26(土) 11:30 発言
【41935】Re:データを更新したときに実行するマクロ tom 06/8/26(土) 12:53 質問
【41937】Re:データを更新したときに実行するマクロ ビリー 06/8/26(土) 13:11 回答
【41938】Re:データを更新したときに実行するマクロ tom 06/8/26(土) 13:20 お礼

39903 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free