Macro to copy a row, then insert shift:=x1Down

G

Guest

I am trying to create a macro to scan the data in Column H, when a "1" is
found, move one row up, copy that row and insert the copied row of data. I
have tried the following code, but it does not work and I cannot find an
answer in the searches I have done.

I would greatly appreciate help!

For Each Cell In Range("H:H")
If Cell.Value = "1" Then
Cell.Offset(-1, 0).Rows("1:1").EntireRow.Select
Selection.Copy.Insert Shift:=x1Down
End If
Next Cell

Lost in Alabama
 
G

Guest

LastRow = cells(rows.count,"H").End(xlup).Row
for i = lastrow to 1 step -1
If Cells(i + 1,1) = "1" Then
Rows(i).Copy
Rows(i + 1).Insert
End If
Next i
 
G

Guest

Thank you, Tom, for the quick response. I tried this code, but it does not
change my data at all. Any suggestions?

Thanks,

Lost
 
T

Tom Ogilvy

Reworked the macro at the last minute and forgot to change a column
Reference from 1 to "H"
made the correction

LastRow = cells(rows.count,"H").End(xlup).Row
for i = lastrow to 1 step -1
If Cells(i + 1,"H") = "1" Then
Rows(i).Copy
Rows(i + 1).Insert
End If
Next i
 
G

Guest

Tom,

You are a Blessing! This works perfectly....not sure I unnderstand it all,
but it works great!

Thanks again for sharing your knowledge.

Lost
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top