A Microsoft Office (Excel, Word) forum. OfficeFrustration

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » OfficeFrustration forum » Microsoft Excel » General Discussion
Site Map Home Register Authors List Search Today's Posts Mark Forums Read  

macro to insert row and copy previous row + excel



 
 
Thread Tools Display Modes
  #1  
Old December 21st, 2009, 01:26 PM posted to microsoft.public.excel.misc
Biffo
external usenet poster
 
Posts: 8
Default macro to insert row and copy previous row + excel

I have a named range First_Table (A5:AB30 ) and a named range End_Table (A30).
I would like to insert a row above the named range End_Table (A30).
Then copy the contents and formula from cells F29:AB29 into the new row.

However every time I run the macro it seems to insert the new row in a
different place which is messing up my data.

Can anyone help me please?
--
Laura
  #2  
Old December 21st, 2009, 01:30 PM posted to microsoft.public.excel.misc
Otto Moehrbach[_2_]
external usenet poster
 
Posts: 716
Default macro to insert row and copy previous row + excel

Always post your code. HTH Otto

"Biffo" wrote in message
...
I have a named range First_Table (A5:AB30 ) and a named range End_Table
(A30).
I would like to insert a row above the named range End_Table (A30).
Then copy the contents and formula from cells F29:AB29 into the new row.

However every time I run the macro it seems to insert the new row in a
different place which is messing up my data.

Can anyone help me please?
--
Laura


  #3  
Old December 21st, 2009, 01:40 PM posted to microsoft.public.excel.misc
Dave Peterson
external usenet poster
 
Posts: 19,791
Default macro to insert row and copy previous row + excel

This doesn't work on columns A:AB. It works on the entire row.

When I do this, I usually don't have anything to the right of the table and I
want the entire row inserted and copied.

If that's not what you want, post back.

Option Explicit
Sub testme()

Dim wks As Worksheet
Dim FirstTableRng As Range
Dim LastCellInTableCol1 As Range

With Worksheets("Sheet1") 'change to what you need
Set FirstTableRng = .Range("First_Table")
End With

With FirstTableRng.Columns(1)
Set LastCellInTableCol1 = .Cells(.Cells.Count)
End With

With LastCellInTableCol1
.EntireRow.Insert
.Offset(-2, 0).Copy _
Destination:=.Offset(-1, 0)
End With

End Sub

Biffo wrote:

I have a named range First_Table (A5:AB30 ) and a named range End_Table (A30).
I would like to insert a row above the named range End_Table (A30).
Then copy the contents and formula from cells F29:AB29 into the new row.

However every time I run the macro it seems to insert the new row in a
different place which is messing up my data.

Can anyone help me please?
--
Laura


--

Dave Peterson
  #4  
Old December 21st, 2009, 02:16 PM posted to microsoft.public.excel.misc
Biffo
external usenet poster
 
Posts: 8
Default macro to insert row and copy previous row + excel

Sorry about that Otto.

Sub Add_Student()
'
' Add_Student Macro
' Macro recorded 21/12/2009 by Phil
'

'
Application.Goto Reference:="First_Table"
Range("A26").Select
Selection.EntireRow.Insert
Range("F25:Y25").Select
Selection.AutoFill Destination:=Range("F25:Y26"), Type:=xlFillDefault
Range("F25:Y26").Select
Range("A27").Select

End Sub
--
Laura


"Otto Moehrbach" wrote:

Always post your code. HTH Otto

"Biffo" wrote in message
...
I have a named range First_Table (A5:AB30 ) and a named range End_Table
(A30).
I would like to insert a row above the named range End_Table (A30).
Then copy the contents and formula from cells F29:AB29 into the new row.

However every time I run the macro it seems to insert the new row in a
different place which is messing up my data.

Can anyone help me please?
--
Laura


.

  #5  
Old December 21st, 2009, 02:21 PM posted to microsoft.public.excel.misc
Biffo
external usenet poster
 
Posts: 8
Default macro to insert row and copy previous row + excel

Sorry again first reply did not work. If this one does not work I will start
a new thread.

Sub Add_Student()
'
' Add_Student Macro
' Macro recorded 21/12/2009 by Phil
'

'
Application.Goto Reference:="First_Table"
Range("A26").Select
Selection.EntireRow.Insert
Range("F25:Y25").Select
Selection.AutoFill Destination:=Range("F25:Y26"), Type:=xlFillDefault
Range("F25:Y26").Select
Range("A27").Select

End Sub
--
Laura


"Otto Moehrbach" wrote:

Always post your code. HTH Otto

"Biffo" wrote in message
...
I have a named range First_Table (A5:AB30 ) and a named range End_Table
(A30).
I would like to insert a row above the named range End_Table (A30).
Then copy the contents and formula from cells F29:AB29 into the new row.

However every time I run the macro it seems to insert the new row in a
different place which is messing up my data.

Can anyone help me please?
--
Laura


.

  #6  
Old December 21st, 2009, 02:30 PM posted to microsoft.public.excel.misc
Biffo
external usenet poster
 
Posts: 8
Default macro to insert row and copy previous row + excel

Hi Dave It's inserting the row in the right place Yeah!, but not copying the
formulas etc down, sorry to be a pain:-)
--
Laura


"Dave Peterson" wrote:

This doesn't work on columns A:AB. It works on the entire row.

When I do this, I usually don't have anything to the right of the table and I
want the entire row inserted and copied.

If that's not what you want, post back.

Option Explicit
Sub testme()

Dim wks As Worksheet
Dim FirstTableRng As Range
Dim LastCellInTableCol1 As Range

With Worksheets("Sheet1") 'change to what you need
Set FirstTableRng = .Range("First_Table")
End With

With FirstTableRng.Columns(1)
Set LastCellInTableCol1 = .Cells(.Cells.Count)
End With

With LastCellInTableCol1
.EntireRow.Insert
.Offset(-2, 0).Copy _
Destination:=.Offset(-1, 0)
End With

End Sub

Biffo wrote:

I have a named range First_Table (A5:AB30 ) and a named range End_Table (A30).
I would like to insert a row above the named range End_Table (A30).
Then copy the contents and formula from cells F29:AB29 into the new row.

However every time I run the macro it seems to insert the new row in a
different place which is messing up my data.

Can anyone help me please?
--
Laura


--

Dave Peterson
.

  #7  
Old December 21st, 2009, 02:48 PM posted to microsoft.public.excel.misc
Dave Peterson
external usenet poster
 
Posts: 19,791
Default macro to insert row and copy previous row + excel

I was going to change it to work with just A:AB, but then decided not to. But I
didn't correct my partial changes...

With LastCellInTableCol1
.EntireRow.Insert
'added the .entirerow on the next line
.Offset(-2, 0).EntireRow.Copy _
Destination:=.Offset(-1, 0)
End With

Biffo wrote:

Hi Dave It's inserting the row in the right place Yeah!, but not copying the
formulas etc down, sorry to be a pain:-)
--
Laura

"Dave Peterson" wrote:

This doesn't work on columns A:AB. It works on the entire row.

When I do this, I usually don't have anything to the right of the table and I
want the entire row inserted and copied.

If that's not what you want, post back.

Option Explicit
Sub testme()

Dim wks As Worksheet
Dim FirstTableRng As Range
Dim LastCellInTableCol1 As Range

With Worksheets("Sheet1") 'change to what you need
Set FirstTableRng = .Range("First_Table")
End With

With FirstTableRng.Columns(1)
Set LastCellInTableCol1 = .Cells(.Cells.Count)
End With

With LastCellInTableCol1
.EntireRow.Insert
.Offset(-2, 0).Copy _
Destination:=.Offset(-1, 0)
End With

End Sub

Biffo wrote:

I have a named range First_Table (A5:AB30 ) and a named range End_Table (A30).
I would like to insert a row above the named range End_Table (A30).
Then copy the contents and formula from cells F29:AB29 into the new row.

However every time I run the macro it seems to insert the new row in a
different place which is messing up my data.

Can anyone help me please?
--
Laura


--

Dave Peterson
.


--

Dave Peterson
  #8  
Old December 21st, 2009, 02:56 PM posted to microsoft.public.excel.misc
Dave Peterson
external usenet poster
 
Posts: 19,791
Default macro to insert row and copy previous row + excel

In fact, if that table ever moved from column A, then this would work better:

With LastCellInTableCol1
.EntireRow.Insert
.Offset(-2, 0).EntireRow.Copy _
Destination:=.Offset(-1, 0).EntireRow.Cells(1)
End With

(And it still works ok if the table starts in column A. I'd use this version.)



Dave Peterson wrote:

I was going to change it to work with just A:AB, but then decided not to. But I
didn't correct my partial changes...

With LastCellInTableCol1
.EntireRow.Insert
'added the .entirerow on the next line
.Offset(-2, 0).EntireRow.Copy _
Destination:=.Offset(-1, 0)
End With

Biffo wrote:

Hi Dave It's inserting the row in the right place Yeah!, but not copying the
formulas etc down, sorry to be a pain:-)
--
Laura

"Dave Peterson" wrote:

This doesn't work on columns A:AB. It works on the entire row.

When I do this, I usually don't have anything to the right of the table and I
want the entire row inserted and copied.

If that's not what you want, post back.

Option Explicit
Sub testme()

Dim wks As Worksheet
Dim FirstTableRng As Range
Dim LastCellInTableCol1 As Range

With Worksheets("Sheet1") 'change to what you need
Set FirstTableRng = .Range("First_Table")
End With

With FirstTableRng.Columns(1)
Set LastCellInTableCol1 = .Cells(.Cells.Count)
End With

With LastCellInTableCol1
.EntireRow.Insert
.Offset(-2, 0).Copy _
Destination:=.Offset(-1, 0)
End With

End Sub

Biffo wrote:

I have a named range First_Table (A5:AB30 ) and a named range End_Table (A30).
I would like to insert a row above the named range End_Table (A30).
Then copy the contents and formula from cells F29:AB29 into the new row.

However every time I run the macro it seems to insert the new row in a
different place which is messing up my data.

Can anyone help me please?
--
Laura

--

Dave Peterson
.


--

Dave Peterson


--

Dave Peterson
  #9  
Old December 21st, 2009, 05:22 PM posted to microsoft.public.excel.misc
Biffo
external usenet poster
 
Posts: 8
Default macro to insert row and copy previous row + excel

Hi Dave you are a star! 'Hi five monitor'.
This is working brilliantly. Yeah 'punching the air'
Sorry, but I still get over-excited when code works
--
Laura


"Dave Peterson" wrote:

In fact, if that table ever moved from column A, then this would work better:

With LastCellInTableCol1
.EntireRow.Insert
.Offset(-2, 0).EntireRow.Copy _
Destination:=.Offset(-1, 0).EntireRow.Cells(1)
End With

(And it still works ok if the table starts in column A. I'd use this version.)



Dave Peterson wrote:

I was going to change it to work with just A:AB, but then decided not to. But I
didn't correct my partial changes...

With LastCellInTableCol1
.EntireRow.Insert
'added the .entirerow on the next line
.Offset(-2, 0).EntireRow.Copy _
Destination:=.Offset(-1, 0)
End With

Biffo wrote:

Hi Dave It's inserting the row in the right place Yeah!, but not copying the
formulas etc down, sorry to be a pain:-)
--
Laura

"Dave Peterson" wrote:

This doesn't work on columns A:AB. It works on the entire row.

When I do this, I usually don't have anything to the right of the table and I
want the entire row inserted and copied.

If that's not what you want, post back.

Option Explicit
Sub testme()

Dim wks As Worksheet
Dim FirstTableRng As Range
Dim LastCellInTableCol1 As Range

With Worksheets("Sheet1") 'change to what you need
Set FirstTableRng = .Range("First_Table")
End With

With FirstTableRng.Columns(1)
Set LastCellInTableCol1 = .Cells(.Cells.Count)
End With

With LastCellInTableCol1
.EntireRow.Insert
.Offset(-2, 0).Copy _
Destination:=.Offset(-1, 0)
End With

End Sub

Biffo wrote:

I have a named range First_Table (A5:AB30 ) and a named range End_Table (A30).
I would like to insert a row above the named range End_Table (A30).
Then copy the contents and formula from cells F29:AB29 into the new row.

However every time I run the macro it seems to insert the new row in a
different place which is messing up my data.

Can anyone help me please?
--
Laura

--

Dave Peterson
.


--

Dave Peterson


--

Dave Peterson
.

  #10  
Old December 21st, 2009, 05:25 PM posted to microsoft.public.excel.misc
Biffo
external usenet poster
 
Posts: 8
Default macro to insert row and copy previous row + excel

Dave you are a STAR! (hi 5 monitor)
This is working brilliantly - YEAH (punching the air)
Sorry, but I still get over-excited when code works
--
Laura


"Dave Peterson" wrote:

In fact, if that table ever moved from column A, then this would work better:

With LastCellInTableCol1
.EntireRow.Insert
.Offset(-2, 0).EntireRow.Copy _
Destination:=.Offset(-1, 0).EntireRow.Cells(1)
End With

(And it still works ok if the table starts in column A. I'd use this version.)



Dave Peterson wrote:

I was going to change it to work with just A:AB, but then decided not to. But I
didn't correct my partial changes...

With LastCellInTableCol1
.EntireRow.Insert
'added the .entirerow on the next line
.Offset(-2, 0).EntireRow.Copy _
Destination:=.Offset(-1, 0)
End With

Biffo wrote:

Hi Dave It's inserting the row in the right place Yeah!, but not copying the
formulas etc down, sorry to be a pain:-)
--
Laura

"Dave Peterson" wrote:

This doesn't work on columns A:AB. It works on the entire row.

When I do this, I usually don't have anything to the right of the table and I
want the entire row inserted and copied.

If that's not what you want, post back.

Option Explicit
Sub testme()

Dim wks As Worksheet
Dim FirstTableRng As Range
Dim LastCellInTableCol1 As Range

With Worksheets("Sheet1") 'change to what you need
Set FirstTableRng = .Range("First_Table")
End With

With FirstTableRng.Columns(1)
Set LastCellInTableCol1 = .Cells(.Cells.Count)
End With

With LastCellInTableCol1
.EntireRow.Insert
.Offset(-2, 0).Copy _
Destination:=.Offset(-1, 0)
End With

End Sub

Biffo wrote:

I have a named range First_Table (A5:AB30 ) and a named range End_Table (A30).
I would like to insert a row above the named range End_Table (A30).
Then copy the contents and formula from cells F29:AB29 into the new row.

However every time I run the macro it seems to insert the new row in a
different place which is messing up my data.

Can anyone help me please?
--
Laura

--

Dave Peterson
.


--

Dave Peterson


--

Dave Peterson
.

 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump


All times are GMT +1. The time now is 11:28 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 OfficeFrustration.
The comments are property of their posters.