重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

いつもこちらの識者の方々にはお世話になっています。
VBAの質問です。
この表のsheet1の、年度・入数の項目が一致しているものをsheet2から探し、sheet1ののG2セル以降に判定結果をあてはめていきたいのですが難儀しています。
前回教えていただいたコードを読み解くため、項目の列を移動して下記コードとしましたが理解不足でできません。
修正箇所をご教授いただけますでしょうか。
よろしくお願いいたします。

Sub Sample()
Dim data, d1, d2
Dim rw As Long, i As Long

With Worksheets("Sheet2")
rw = .Cells(Rows.Count, 5).End(xlUp).Row
data = Range(.Cells(3, 5), .Cells(rw, 7)).Value
End With

With Worksheets("Sheet1")
For rw = 3 To .Cells(Rows.Count, 2).End(xlUp).Row
.Cells(rw, 8).ClearContents
d1 = .Cells(rw, 3).Value
d2 = .Cells(rw, 5).Value

For i = 1 To UBound(data)
If d1 = data(i, 1) And d2 = data(i, 2) Then
.Cells(rw, 8).Value = data(i, 3)
Exit For
End If
Next i
Next rw
End With

End Sub

「【VBA】複数条件の検索」の質問画像

質問者からの補足コメント

  • うーん・・・

    sheet1ののG2セル以降は誤りです。sheet1のH3セル以降にSheet2判定結果が表示できればと苦戦しています。よろしくお願いいたします。

      補足日時:2019/03/06 14:36

A 回答 (1件)

こんにちは



ざっと眺めただけで、確認はしていませんが・・・

Sheet1内のループの制御に失敗しているのでは?
(取得した最終行を確認してみてはいかがでしょうか?)


※ VBAのエディタにはデバッグの機能も付いています。
適当なところで処理中の内容を表示させたり、変数の内容を確認するなどの方法を覚えると宜しいかと。
https://www.google.com/search?q=VBA+%E3%83%87%E3 …
    • good
    • 0
この回答へのお礼

御指南ありがとうございます。
ご指摘箇所の最終行を変更し、無事に動きました。
助かりました。

お礼日時:2019/03/06 19:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!