I am trying to create a yearly trade show sales workbook.
Each worksheet represents a show except for the Main Sheet where I would like to pull all my totals from each of the trade show sheets into. I have also created an index worksheet at the beginning of the workbook.
I want to have the “Main Sheet” automatically add a new line each time I add a new sheet to the work book – I would also like it to sub-in the appropriate “sheet name” in each of the formula’s so that all that’s required to keep the workbook up to date is to drop in the new trade show worksheet.
Thanks for any help you can provide!
Dynamically Generate Formula’s Based On New Worksheet Names
Please note that on 14th December 2023 users will experience an expected outage whilst we make upgrades to our network. We anticipate this process may take a couple of hours and so we apologise in advance for any inconvenience.
-
-
-
Re: Dynamically Generate Formula’s Based On New Worksheet Names
Column "A" on "Main Sheet" will contain a formula that identifies the sheet that the rest of the formulas in that row should reference. When a new sheet is inserted, the last row in "Main Sheet" will be copied and the old sheet name from column "A" is used in a search and replace with the new sheet name.
Put a heading in cell A1 in "Main Street", save the workbook, then copy and paste the following into the ThisWorkbook module:Code
Display MorePrivate Sub Workbook_NewSheet(ByVal Sh As Object) Dim NewRowCell As Range Set NewRowCell = Sheets("Main Sheet").Range("A65536").End(xlUp).Offset(1, 0) NewRowCell.Offset(-1, 0).EntireRow.Copy Destination:=NewRowCell NewRowCell.EntireRow.Replace What:=NewRowCell.Offset(-1, 0).Value, Replacement:=Sh.Name, LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False NewRowCell.FormulaR1C1 = "=MID(CELL(""filename""," & Sh.Name & _ "!RC), FIND(""]"",CELL(""filename""," & Sh.Name & "!RC))+1,31)" End Sub
You should now be able to insert a sheet and have the formulas changed in a new row in "Main Sheet"
-
Re: Dynamically Generate Formula’s Based On New Worksheet Names
Thanks, I appreciate the help - unfortunately I'm perhaps a little thick! I can't get the code to work - I keep trying different ways but it's just not working out for me:-(
One error I get every time I add a new work sheet is "Named Argument Not Found" any idea's? -
Re: Dynamically Generate Formula’s Based On New Worksheet Names
peggydeee,
Not sure why you are getting the error. What version of Excel are you using? You could try exporting, then importing the code in your modules as Excel sometimes doesn't clean up debugging code correctly and will cause errors.I have attached a file that works for me. It contains exactly the same code as above. Insert a sheet by right-clicking a tab -> Insert -> OK. Let me know if it works for you.
-
Re: Dynamically Generate Formula’s Based On New Worksheet Names
Nope it's the same error with that - It's highlighting the line " SearchFormat:= "
I'm using Excell 2000
BTW Thanks agian for helping me:-) -
-
Re: Dynamically Generate Formula’s Based On New Worksheet Names
Try replacing the lines for the .Replace method with the following code. It looks like additional options (that you don't need) were added to excel 2003 from 2000 for this command.
CodeNewRowCell.EntireRow.Replace What:=NewRowCell.Offset(-1, 0).Value, _ Replacement:=Sh.Name, LookAt:=xlPart, MatchCase:=False
BTW, your MS Office version in your Profile says 2003. You should probably change it to 2000. -
Re: Dynamically Generate Formula’s Based On New Worksheet Names
Hey there new friend - still not working (I must be doing somthing wrong) now it does nothing when I add a new worksheet (no errors there) no new line either. But if I close and re-open the work book I get an error that says
Complie Error
Syntax Error -
Re: Dynamically Generate Formula’s Based On New Worksheet Names
Hey friend, see if the new attachment works.
-
Re: Dynamically Generate Formula’s Based On New Worksheet Names
I Love You Forever!!!!!!
-
Re: Dynamically Generate Formula’s Based On New Worksheet Names
You made my day. One more tip. On your Main Sheet be sure your formulas use absolute referencing (i.e. $A$1, not A1). If it is A1 it will change to A2 when copying, which you probably don't want.
-
-
Re: Dynamically Generate Formula’s Based On New Worksheet Names
Sorry Bert - the thred wouldn't open for me be fore - I have it figured out now!
Your the BEST!!
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!