Apologies if this has been asked before, but I couldn't find a solution that matched the code I already have, which nearly works except for the conditions I'm adding in.
Explanation:
I have multiple Record #s in Sheet1. I need to find a match for the same in Sheet2 and when located, I need it to return values that are all found in Column 8 and 15, based on the value (and subsequently row #) in Column 7.
For ex:
Sheet1:
Column 1
123
999
989
Sheet2:
Column1 Column7 Column8 Column 15
321 PRA PRAABC Completed
123 IRA IRABCD Cancelled
000 TPSD TPSDRST Completed
989 APSD APSDABC In Prog
So the results would be:
123 IRABCD Cancelled
989 APSDABC In Prog
My code below:
Sub CopyBasedonSheet1()
Dim i As Long
Dim j As Long
Sheet1LastRow = Worksheets("Sheet1").Range("O" & Rows.Count).End(xlUp).Row
Sheet2LastRow = Worksheets("Sheet2").Range("B" & Rows.Count).End(xlUp).Row
For j = 1 To Sheet1LastRow
For i = 1 To Sheet2LastRow
If Worksheets("Sheet1").Cells(j, 15).Value = Worksheets("Sheet2").Cells(i, 2).Value Then 'if Engagement # from sheet1 matches sheet2
If Worksheets("Sheet2").Cells(i, 7) = "IRA" Then
Worksheets("Sheet1").Cells(j, 23).Value = Worksheets("Sheet2").Cells(i, 8).Value
Worksheets("Sheet1").Cells(j, 24).Value = Worksheets("Sheet2").Cells(i, 15).Value
If Worksheets("Sheet2").Cells(i, 7) = "TPSD" Then
Worksheets("Sheet1").Cells(j, 25).Value = Worksheets("Sheet2").Cells(i, 8).Value
Worksheets("Sheet1").Cells(j, 26).Value = Worksheets("Sheet2").Cells(i, 15).Value
ElseIf Worksheets("Sheet2").Cells(i, 7) = "CA" Then
Worksheets("Sheet1").Cells(j, 27).Value = Worksheets("Sheet2").Cells(i, 8).Value
Worksheets("Sheet1").Cells(j, 28).Value = Worksheets("Sheet2").Cells(i, 15).Value
Else
End If
Next i
Next j
End Sub
I receive a "Next without For" error on Next i
Aucun commentaire:
Enregistrer un commentaire