MrExcel Message Board

Go Back   MrExcel Message Board > Question Forums > Excel Questions

Excel Questions All Excel/VBA questions - formulas, macros, pivot tables, general help, etc. Please post to this forum in English only.

Reply
 
Thread Tools Display Modes
Old Apr 23rd, 2002, 09:46 AM   #1
Nobby
Board Regular
 
Join Date: Feb 2002
Location: United Kingdom
Posts: 68
Default

The following code was posted by AJ on 5/3, to insert a new row at the bottom of a table, including all of the formula etc.

Sub test()

Lastrow = Range("A65536").End(xlUp).Row
Rows(Lastrow & ":" & Lastrow).Select
Selection.Copy
Rows(Lastrow + 1 & ":" & Lastrow + 1).Select

ActiveSheet.Paste

End Sub

And it does what it was intended to do. However, I would like to amend the code to actually insert a new row and copy the formula and formatting down into the new row. A new row has to be inserted to maintain a gap with data that is held below the table. The above code seems to just transfer the formula and formatting to the next row down rather than insert an actual new row.

I think the additional code I need is something like:

Insert Row Shift:=xlShiftDown

but I don't know if thats right and, where do I put it?

Any help gratefully received.

Nobby

Nobby is offline   Reply With Quote
Old Apr 23rd, 2002, 11:18 AM   #2
AJ
Board Regular
 
Join Date: Mar 2002
Location: =ActiveCell.Address
Posts: 478
Default

Quote:
On 2002-04-23 08:46, Nobby wrote:
The following code was posted by AJ on 5/3, to insert a new row at the bottom of a table, including all of the formula etc.

Sub test()

Lastrow = Range("A65536").End(xlUp).Row
Rows(Lastrow & ":" & Lastrow).Select
Selection.Copy
Rows(Lastrow + 1 & ":" & Lastrow + 1).Select

ActiveSheet.Paste

End Sub

And it does what it was intended to do. However, I would like to amend the code to actually insert a new row and copy the formula and formatting down into the new row. A new row has to be inserted to maintain a gap with data that is held below the table. The above code seems to just transfer the formula and formatting to the next row down rather than insert an actual new row.

I think the additional code I need is something like:

Insert Row Shift:=xlShiftDown

but I don't know if thats right and, where do I put it?

Any help gratefully received.

Nobby

Hi Nobby,

The code you probably want is something like

Rows(VariableHoldingRowNumberGoesHere & ":" & VariableHoldingRowNumberGoesHere).Insert Shift:=xlDown

However, I'm a little confused.
The macro above copied the contents of the last row in the sheet to the row below which you said was cool, but, you go on to say that there is data below the table. Does this mean that it's not actually the last row on the sheet you want to copy but rather the last row in a certain range?
Reply with a bit more info and I'll see what I can do!

Rgds
AJ
AJ is offline   Reply With Quote
Old Apr 24th, 2002, 01:52 AM   #3
Nobby
Board Regular
 
Join Date: Feb 2002
Location: United Kingdom
Posts: 68
Default

Hi AJ,

Yes, you're right, I want to insert a new row at the end of a current range and carry across to the new row all formulae and formatting from the previous row but not the data contents.

The range uses data validation and I have sited my lists below the table range so I need to insert new rows to stop the lists being overrun.

I have kept Col A below the table range clear so the macro test to find the end of the range by checking up from the bottom will work.

Thanks for the help.

Nobby
Nobby is offline   Reply With Quote
Old Apr 24th, 2002, 02:11 AM   #4
Tom Schreiner
Board Regular
 
Join Date: Mar 2002
Location: Cincinnati, Ohio, USA
Posts: 6,824
Default

Hi Nobby...
I'm not clear where exactly you will be inserting and copying...
Maybe this will get you on your way?
Tom

Quote:
Sub test()
Dim LastRow
LastRow = Range("A65536").End(xlUp).Row
Rows(LastRow & ":" & LastRow).Select
Rows(LastRow + 1 & ":" & LastRow + 1).Insert
Rows(LastRow + 1 & ":" & LastRow + 1).FillDown
End Sub
Tom Schreiner is offline   Reply With Quote
Old Apr 24th, 2002, 04:47 AM   #5
Nobby
Board Regular
 
Join Date: Feb 2002
Location: United Kingdom
Posts: 68
Default

Thanks for that Tom - nearly there!

This copies the formula, the formatting and the data contents of the row above. However, I only want to copy the formula and formatting - not the data contents of the row above ie I want to see a fully formatted empty row.

Your code inserts the row in the right place - I just need to find a way of keeping the new row blank, apart from formula and formatting.

Cheers

Nobby
Nobby is offline   Reply With Quote
Old Apr 24th, 2002, 05:46 AM   #6
manet
 
Join Date: Apr 2002
Posts: 30
Default

Dim LastRow As Range
Set LastRow = [A65536].End(xlUp).EntireRow
With LastRow
.Offset(1, 0).Insert
.Copy .Offset(1, 0)
On Error Resume Next
.Offset(1, 0).SpecialCells(xlCellTypeConstants, 23).ClearContents
On Error GoTo 0
End With
manet is offline   Reply With Quote
Old Apr 24th, 2002, 07:04 AM   #7
Nobby
Board Regular
 
Join Date: Feb 2002
Location: United Kingdom
Posts: 68
Default

Thanks for that Manet. a couple of problems though - one my ignorance, the other technical.

Firstly, your procedure doesn't have a sub name, so I cant run it from the macro toolbar. Was is the proper way of naming this routine?

Secondly, when I run it from VB area, I get a warning, where "Set" is highlighted with the message "Invalid outside procedure".

Any ideas?

Cheers.

Nobby
Nobby is offline   Reply With Quote
Old Apr 24th, 2002, 07:32 AM   #8
manet
 
Join Date: Apr 2002
Posts: 30
Default

Quote:
On 2002-04-24 06:04, Nobby wrote:
Thanks for that Manet. a couple of problems though - one my ignorance, the other technical.

Firstly, your procedure doesn't have a sub name, so I cant run it from the macro toolbar. Was is the proper way of naming this routine?

Secondly, when I run it from VB area, I get a warning, where "Set" is highlighted with the message "Invalid outside procedure".

Any ideas?

Cheers.

Nobby

Of course you have to name the macro with a name of your choice :-
Sub Whatever()
'The code here
End sub

How did you manage to run it from the VBE without giving it a name?
Can think of no reason why you should get an error on the line that starts with Set.
Did you copy and paste the code into your module?
manet is offline   Reply With Quote
Old Apr 24th, 2002, 07:42 AM   #9
Nobby
Board Regular
 
Join Date: Feb 2002
Location: United Kingdom
Posts: 68
Default

Manet,

My mistake - I pasted it over a old piece of code and left a rogue bit behind.

Works perfectly.

Thanks

Nobby
Nobby is offline   Reply With Quote
Reply

Bookmarks

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

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump


All times are GMT -4. The time now is 07:14 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
All contents Copyright 1998-2012 by MrExcel Consulting.
diabetic desserts recipes recipes Diabetic Soups Holiday Pizza Recipes Popcorn Recipes Recipes For Microwave Pasta Recipes Casserole Recipes Chili Recipes Curry Recipes Crockpot Recipes Apples Recipes Bread Recipes Vegetarian Recipes Vegetable recipes Desserts Recipes Appetizers Ethnic Recipes Meat Dishes Barbecue Recipes Sauces Recipes Marinade Recipes Low Fat Recipes Frugal Gourmet Kitchen Classics Recipes On The Grill Cook Books Seafood Recipes Cajun Recipes Breads Low Fat Low Fat Breads Bread Machine Recipes Yeast Breads Quick Breads Fat Free Vegetarian Salad Recipes Eggplant Recipes Radish Recipes Tomato Recipes Jalapeno Recipes Potato Recipes Lettuce Recipes Cabbage Recipes Beans Ambrosia Recipes Biscotti Recipes Desserts Low Fat Cookie Recipes Cheesecake Recipes Cake Recipes Pie Recipes Muffin Recipes Custard Recipes Best Appetizers Appetizers Low Fat Salsa Recipes Dip Recipes International Recipes Afghan Recipes Alaska Recipes French Recipes German Recipes Greek Recipes Italian Recipes Spanish Recipes Thai Recipes Korean Recipes Chinese Recipes Mexican Recipes Indian Recipes Beef Recipes Pork Pork & Ham Pork Butts Pork Chop Recipes Pork Ribs Rulled Pork Poultry Recipes Stews Recipes Ground Beef Barbecue Grill Barbecue Smoker All Purpose Sauce BBQ Sauce Barbecue Sauce Carolina BBQ Sauce Pickle Recipes Marinades Smoking Low Fat Appetizers & Dips Low Fat Breakfast Low Fat Cakes Low Fat Cheesecakes Low Fat Cookies Low Fat Desserts Low Fat Fish & Seafood Low Fat Meats Low Fat Pasta Low Fat Pies Low Fat Salads Low Fat Sandwiches Low Fat Sauces & Condiments Low Fat Sides Low Fat Soups Low Fat Vegetarian Baker's Dozen Taste of Home Recipe Book Bon Appetit Cookbook Blacktie Cookbook Buster Cook Book Cookbook USA Cook Book Cook Book Sara's Cookbook Sara's Cookbook Appetizers and Dips Poultry recipes Diabetic recipes Holiday recipes Miscellaneous recipes 110 recipes 1986 Usenet cookbook 2900 recipes Cyberrealm recipes Great sysops of world Specialty recipes Ceideburg recipes Cheese recipes Chili recipes Fruits recipes Garlic recipes Great chefs of NY Londontowne recipes Raisins recipes Recipes for kids US Food Vegetarian recipes Bread recipes Drinks Meat Dishes Brisket recipes Caribou recipes Chicken recipes Filet mignons recipes Pork recipes Swordfish recipes Turkey recipes Pasta recipes Uncategorized recipes Ethnic recipes Canada recipes English recipes Ethiopia recipes Germany recipes Greece recipes Mexican recipes Philippines recipes Welsh recipes Microwave recipes Soups recipes Vegetable recipes Asparagus recipes Barley recipes Brown rice recipes Lentil recipes Mushrooms recipes Salads recipes Wild rice Desserts recipes Cakes recipes Chocolate recipes Cookies recipes Ice cream recipes