ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Macro to copy a row, then insert shift:=x1Down (https://www.excelbanter.com/excel-programming/360609-macro-copy-row-then-insert-shift-%3Dx1down.html)

Lost in Alabama

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


Tom Ogilvy

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


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


Tom Ogilvy

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




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