![]() |
Macro to copy a row, then insert shift:=x1Down
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 |
Macro to copy a row, then insert shift:=x1Down
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 -- Regards, Tom Ogilvy "Lost in Alabama" wrote: 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 |
Macro to copy a row, then insert shift:=x1Down
Thank you, Tom, for the quick response. I tried this code, but it does not
change my data at all. Any suggestions? Thanks, Lost "Tom Ogilvy" wrote: 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 -- Regards, Tom Ogilvy "Lost in Alabama" wrote: 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 |
Macro to copy a row, then insert shift:=x1Down
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 -- Regards, Tom Ogilvy "Lost in Alabama" wrote in message ... Thank you, Tom, for the quick response. I tried this code, but it does not change my data at all. Any suggestions? Thanks, Lost "Tom Ogilvy" wrote: 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 -- Regards, Tom Ogilvy "Lost in Alabama" wrote: 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 |
Macro to copy a row, then insert shift:=x1Down
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 "Tom Ogilvy" wrote: 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 -- Regards, Tom Ogilvy "Lost in Alabama" wrote in message ... Thank you, Tom, for the quick response. I tried this code, but it does not change my data at all. Any suggestions? Thanks, Lost "Tom Ogilvy" wrote: 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 -- Regards, Tom Ogilvy "Lost in Alabama" wrote: 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 |
All times are GMT +1. The time now is 12:16 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com