Excel macro copying cells based on criteria

Closed
nsy2204 Posts 2 Registration date Friday November 6, 2009 Status Member Last seen November 6, 2009 - Nov 6, 2009 at 08:43 PM
nsy2204 Posts 2 Registration date Friday November 6, 2009 Status Member Last seen November 6, 2009 - Nov 6, 2009 at 11:23 PM
Hello,
If problem excel

If cell H of worksheet A = cell E of worksheet B
and/or
If cell J of worksheet A = Cell H of worksheet B
and/or
If cell K of worksheet A = cell I of worksheet B

then copy cell O of worksheet A to cell L of worksheet B

(put in other words
if H2, J2, K2 of worksheet A = E1, H1, I1 of worksheet B
then copy O2 of worksheet A to L1 of worksheetB)

if H3, J3, K3 of worksheet A = E5, H5, I5 of worksheet B
then copy O3 of worksheet A to L5 of worksheetB)

i need the macro to match and copy for the whole worksheet of A and B
Data from worksheet A is only to be used once

1 response

nsy2204 Posts 2 Registration date Friday November 6, 2009 Status Member Last seen November 6, 2009 1
Nov 6, 2009 at 11:23 PM
I tried to do something like this but nothing seems to get copied...

Sub CopyData()
Dim sh1 As Worksheet, sh2 As Worksheet
Dim j As Long, i As Long, lastrow As Long

Set sh1 = Worksheets("Worksheet A")
Set sh2 = Worksheets("Worksheet B")

lastrow = sh1.Cells(Rows.Count, "A").End(xlUp).Row


For i = 2 To lastrow
j = (i - 2) * 4 + 1
If sh1.Cells(i, "H").Value = sh2.Cells(j, "E").Value And _
sh1.Cells(i, "J").Value = sh2.Cells(j, "H").Value And _
sh1.Cells(i, "K").Value = sh2.Cells(j, "I").Value Then
sh1.Cells(i, "O").Copy sh2.Cells(j, "L")
End If
j = j + 4
Next

End Sub
1