Hello VBA experts,

Its been a long while since i tried using VBA and I'm running in to some problems. Im columns A-E in a spreadsheet and attempting the following:

Columns A,B & D are populated with data. I need to:
1. loop through the values in column D
2. Compare each value in column D to all of the values in column A
3. If there is a match, copy cell B which corresponds to the matching value in column A
4. Paste that value in column E next to the corresponding matching value in column D

If thats not too confusing...

So as an example:


In column D, a match for "a" is found in column A, row 1, and the value in column A, row 2 is pasted to the matching "a" in Column E.

All ranges would need to be dynamic.

I've tried piecing this together from examples i've found with not luck so far. Below is what i've been working with. I know its incorrect, and results in copying all of the values in column A to column E.

Sub compareAndCopy()

    Dim lastRowA As Long
    Dim lastRowD As Long
    Dim lastRowE As Long
    Dim i As Integer
    Dim j As Integer

    Application.ScreenUpdating = False

    lastRowD = Sheets("Sheet1").Cells(Sheets("Sheet1").Rows.Count, "D").End(xlUp).Row
    lastRowA = Sheets("Sheet1").Cells(Sheets("Sheet1").Rows.Count, "A").End(xlUp).Row
    lastRowE = Sheets("Sheet1").Cells(Sheets("Sheet1").Rows.Count, "E").End(xlUp).Row

    For i = 1 To lastRowD
        For j = 1 To lastRowA

            If Sheets("Sheet1").Cells(i, 1).Value = Sheets("Sheet1").Cells(j, 1).Value Then
                Sheets("Sheet1").Cells(i, 1).Offset(, 1).Copy Destination:=Sheets("Sheet1").Cells(i, 1).Offset(, 4)
        Exit For
   Exit For
            End If
        Next j
    Next i
    Application.ScreenUpdating = True
End Sub
I've attached the spreadsheet as well.

Any help would be greatly appreciated!