Excel VBA レコードの変り目のループ方法
どうぞ、よろしくお願いします。
Excel VBAプログラミング初心者です。
添付画像のようなデータの扱いについて教えてください。
B列の日付の新旧関係を比較して、その判定結果をD列に出力させようとしています。
例えば、2行目より3行目の日付が新しければ2行目のD列に「OK」と出力します。
逆に7行目が8行目より日付が新しければ7行目のD列に「NG」と出力します。
ただし、このループには条件があって、
C列のItem Noが同じものの範囲内で日付の新旧を比較するものですので
例えば、5行目と6行目はItem Noが異なるので、本来5行目には「OK」が入るようにしたいのですが「NG」となってしまいます。
また、10行目にはレコードがないので、9行目は本来「OK」としたいのですが、やはり「NG」となってしまいます。
ソースのloopの作り方が分からず困っております。
どう作成すれがよいかヒントをいただけないでしょうか。
以下は自分で作っているソースです。
--------------------------------------------------------------
Private Sub CommandButton1_Click()
Dim i As Integer
For i = 2 To 9 Step 1
If Cells(i, 2).Value <= Cells(i + 1, 2).Value Then
Cells(i, 4).Value = "OK"
Else
Cells(i, 4).Value = "NG"
End If
Next i
End Sub
-------------------------------------------------------------
お礼
ご回答ありがとうございます。 簡潔でわかりやすかったです。