A と D が一致する場合は、A を G に貼り付けます。次に、B と E を追加し、結果を列 H に配置します。B と E の値を H に追加するのに問題があります。
Private Sub CommandButton1_Click()
Dim rng1 As Range
Dim rng2 As Range
Dim RowNo As Long
Dim LR As Long
Set rng1 = Worksheets("Sheet1").Range("D1:D100", Worksheets("Sheet1").Range("D" & Rows.Count).End(xlUp))
Set rng2 = Worksheets("Sheet1").Range("A1:A100", Worksheets("Sheet1").Range("A" & Rows.Count).End(xlUp))
For Each d In rng1
LR = Range("H" & Rows.Count).End(xlUp).Row
Range("F1:F" & LR).Formula = "=H1+C1"
If Not d.Value = "" And Application.WorksheetFunction.CountIf(rng2, d) > 0 Then
RowNo = Application.WorksheetFunction.Match(d, rng2)
If d.Offset(, 1).Value = "" Then d.Offset(, 3).Resize(1).Value _
= Worksheets("Sheet1").Range("A" & RowNo).Value
If d.Offset(, 1).Value = "" Then d.Offset(, 4).Resize(1).Value _
= Worksheets("Sheet1").Range("B" & RowNo).Value
End If
Next d
End Sub
セルの例:
A 1 X 22 A 45
B 2 C 33 C 36
C 3 A 44 F 105
D 4 Y 55
E 5 J 66
F 6 O 77
G 7 T 88
F 99
W 11