How To Create A Macro To Add New Worksheet And Rename It
Aug 25, 2009
I tried recording a macro to add to a new worksheet, but it gives error while running.
Issue as I understand is, by default excel gives a new worksheet a name (Say Sheet 4), and when u run macro worksheet, new created name may be different.
I need to have many users press a button within the excel sheet that duplicates the form from the current page, opening a new tab (copying the form) that also prompts to input a specific name e.g. "Enter date and day or night shift" to name the tab itself.
I have just worked out how to put a Command Button in and used the above code to create the new page assigning the code to it.
I need the "my sheet" to be prompted and customisable.
I want to find a way to create multiple worksheets and matching data to be placed on appropriate sheets.
Here are more details (Please check the attached sheet screenshot as well):
Excel_Macro_Requirement.jpg
In a workbook, there is a "Master-Sheet". This master sheet contains 8 columns.
I want to create as many new worksheets after master sheet as the values are there in column B (Column 2 i.e. Ad Group). In above attached screenshot, there are 8 values (B2:B9 or A-H). So, I would like to create 8 new worksheets after the master sheet. Also, I want to rename them based on their value from Ad Group column.
Each newly created worksheet should have same columns as the master sheet . Same 8 columns with their name intact.
Finally, I want all matching data of the Ad Group values to be placed on their respective newly created worksheet. For example, worksheet A should have A2:H2 data. Worksheet B should have A3:H3 data, and so on.
Please note that same ad group may have more than one row data. But I don't want to create multiple worksheet of same name ad group. The worksheet should be just one, but all matching data should be placed in that one sheet.
I know it is a bit complex task, but I am sure there would be a way to perform this automatically - probably a macro.
I have the following code in my vb app. It creates the new worksheet, gives it the corect name, copies all of the existing data from an existing worksheet and pastes it in the new worksheet, but I can not get it to refresh the formulas. When I look at the formulas in the new sheet they reference back to the MasterSheet worksheet(which is my template I copy and paste from when making a new worksheet)
I have created an appointment schedule spreadsheet. Once I get the spreadsheet running smoothly, I would like to create a worksheet for every day of the year that we are open.
I have decided to have one main folder with 26 subfolders in it. In each of those 26 subfolders, there will be one workbook with 12 worksheets in it. That will be two weeks worth of appointments as we are open Mon-Sat. Of course I want to name the worksheet tabs at the bottom of the workbook according to the appropriate calendar date. Then there is also a cell at the top of each page that also has the date, the same as the date on the tab. Just wondering if there is a simple way to create a macro to rename all these worksheet tabs, or if I have to physically open up each workbook, and rename all the worksheet tabs according to the calendar date. Then once the worksheet tab is named, can you make it automatically put the same date into Cell A1?
I am currently doing an excel database of students application. I want a macro that creates a duplicate of a template sheet and renaming it based on the name of the student. Meaning once a name appears in the name cell, a sheet of that particular name is automatically created. At the same time, i want all the data regarding the applying student to appear the newly created sheet as shown in the attached file.
I am having trouble renaming an active sheet from a Macro I stored in the personal.xls file. I want the active sheet to be renamed to "Data_Source" and then the rest of the code can kick in. Instead of renaming the current worksheet it creates a new one.
Is it possible to write a macro that will rename a worksheet based on the value of the cell?
For instance, if cell a1 has the value Test, the worksheet should be named Test. If I change the value of the cell to say Test 1, the worksheet should automatically rename itself to Test 1.
I'd like a macro to rename a worksheet from its current name of "FullScreen (2)" to say Numbers, plus today's date (without the plus) For example... Numbers as of 02-17-09
I have a worksheet titled "master plan" with many columns of data. I want to create many tabs based on this data. One tab I want that just has the data from columns C, F, A, E, G and L (in that order) Starting with the header data in row 2. And titled "LOB".
Then I want a different tab for each unique item in Row C with these same columns (C, F, A, E, G and L from "master plan" tab or A, B, C, D, E and F from new "LOB" tab). The tab name should be the unique row C value.
So for example, say that there about 20 rows where 'A' is in column C, about 30 with 'B' in column 'C' etc .... There should be a tab with the name 'A' with those 20 rows of data and a tab with the name 'B' with the 30 rows with B and so on.
I also would prefer not to have to delete the existing 'A' and 'B' tabs every time before recording the macro so if it can either create a new tab or replace an existing tab with that name if it already exists.
To make things a little more difficult.. for the (in this example) 20 items with an 'A' in column C, there are (at this time) 3 different possible items in column B of 'master plan'. I'd like to create 3 separate tabs for each unique value in column B and I want the name to be dependent on the data in Column B (for example, the three unique items in column B with a column C of 'A' are Red, Green and yellow. I want three new tabs set up for each and the tab names to be: if B = Red, then tab name = 'Stop', If B = Green, then tab name = 'Go', if B = Yellow, then tab name = 'Slow'.
I have something that partially works, but I have to create the 'LOB' tab first and it doesn't work if any of the sheets already exist. And it doesn't do the Red, Green, Yellow part.
Here is what I currently have:
Sub DeptTabs2() Dim strSrcSheet As String Dim rngSrcStart As Range Dim rngSrcEnd As Range Dim rngCell As Range Dim strLastDept As String Dim intDestRow As Integer On Error GoTo ErrHnd
I need a macro to create the following worksheets and charts from an Excel data set:
Three (3) worksheets (already created manually in attached Excel file):
1. Chart Data. (a) Column A in Chart Data is always numbered 1 - 600 (50 years x 12 mos/yr). (b) Column I and column Y data sets (from Prod_Month) created in Chart Data. Each data set can be identified and collated with column F in Prod_Month (API) which is unique for each dataset.
2. Rate vs. Month - plot of Daily Gas (col. Y in Prod_Month) vs. Months (col. A in Chart Data).
3. Rate vs. Time - plot of Daily Gas (col. Y in Prod_Month) vs. Calender Time (col. B et. al. in Chart Data)
At a minimum, could someone help me create the Chart Data worksheet from the data in PROD_MONTH? Charting all the columns takes time from Chart Data but any data manipulation macro(s) help.
Im trying to create a document that creates a new workbook when certain functions are selected and have written a macro to assist with this. Basically im working on a comprehensive checklist with all possible scenarios that will need to be tailored for use, so you can create a document with just what is applicable to you and not the whole checklist. I have attached a sample of what i mean, along with clearer descriptors of what the document is designed to do.
I need to create a Worksheet within a macro that has 10 tabs. I had something running, then I made some changes and I got Application-defined or object defined error.
Sheets("Sheet1").Name=Sheetname(1)
Sheets.Add after:=Sheets(Sheets.Count)
I was looping thru this up to 10 now its not working. This isn't too complicated,
Is it possible to use a macro to create a new worksheet with a button on it, that has a macro attached to it, that i can send out to people? I've looked at the Template example, but i'm not sure this will work when emailed as i'm unsure whether the template will be sent to them.
EXAMPLE: Complete Sheet called "Day1". When day1 is complete you click on button and it then copies itself and creates and renames new sheet to "Day2", then when "Day2" is complete you click on button and it then copies itself and creates and renames new sheet to "Day3", and so on and so forth to "Day30".
Iam looking for macro to copy rows based on partial cell content of a column. I have an excel spreadsheet called "arc.xlsx" from which I would like to copy data to other few new excel files when certain criteria are met. The excel file contained location is C:Documents and SettingsxxxxDesktopCompany.
Below is a sample of arc.xlsx
GP CUST_NO BR CUST_NAME day mo year I1 999999 1 SMITH 0 8 9 I1 999999 ab SMITH 4 8 9 I1 999999 cd SMITH 4 10 9 I1 999999 1 SMITH 4 1 10
[Code]...
I would like the macro to copy rows that have 'ab' in the column c (with title BR)and save it in a new excel file with name ab.xlsx in the same location folder.And the same for 'cd', '01' and '02' by saving the data in files with name cd.xlsx, 01.xlsx so on.
I am trying to write a simple macro to create a chart over the used range in a worksheet. The first part of the macro correctly selects the used range which in this case is A1 to F19 when I single step through the macro. A listing of the macro is shown below:
Code:
Sub AddChartObject() ' Sheets("Sheet1").Activate Range("A1").Select Range(Selection, Selection.End(xlDown)).Select Range(Selection, Selection.End(xlToRight)).Select
[Code]...
When I place the formula given in MyArea as an argument for the source data, I receive a syntax error, so obviously it is the wrong argument. Numerous attempts to correct it also failed. As a sanity check, I placed the used range in an argument for the source data and was able to create the expected chart. fix the syntax error in the macro
I have code that creates a textbox on a worksheet, copies the contents of a cell from another worksheet to that textbox. I want to be able to select that text and format its appearence ( center the text, bold and font style and size). This is what I have so far but I do not know how to select the text that was imported.
Sub textmove() Dim bname As String Sheets("cover").Shapes.AddTextbox(msoTextOrientationHorizontal, 96.75, 512.25, _ 230.25, 120#).Name = "client"
I renamed a sheet and for some odd reason excel added .xls] before the name of the sheet. So the name was now .xls]Sheet 1. I tried to rename the sheet again to get rig of the .xls], but the program didn't allow it and said that I "entered an invalid name". Now when I'm trying to make links to cells on this sheet, excel says that my "formula contains ans ivalid external reference to a worksheet". The worksheet is now unusable and copying the sheet and updating all the links on other worksheets is a lot of work.
I have renamed worksheets according to a cell value in the same worksheet, but now I need to rename the worksheet according to a cell value in another worksheet.
Here is the code I tried:
Code:
Private Sub Worksheet_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Sheets("Set-Up Page").Range("B2").Value "" Then 'rename the worksheet to the contents of cell B2 Sh.Name = Sheets("Set-up Page").Range("B2").Value End If
End Sub
I have pasted that code into the worksheet that needs to be renamed, but it doesn't work. I have also tried:
Code: Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Target.Address = Sheets("Set-up Page").Range("B2") Then Sh.Name = Target End Sub
I like the first one because it checks for a blank value. There will be blank values depending on how many worksheets each teacher needs, so it will just rename the ones that have values filled in. Each worksheet will have the code referencing to a different cell on the Set-Up Page worksheet.
I am trying to creat a macro that loops all the named ranges in a worksheet named "Labels", and copy the data to a new worksheet for each named range it finds in the same workbook and name each worksheet with the named range name.
I have recorded a macro to create a pivot table. I thought I had it so that it would create the pivot from the active worksheet only. But looking at the code, it is picking up the sheet name from the one I recorded it from
Code: Sub SalPiv() ' ' SalPiv Macro ' Macro recorded 20/06/2012 by imccormick
Can't seem to attach sample Widgets.xls. I need a macro to take the heading (note heading not sheet name) from each worksheet on a workbook (or from a range of nominated worksheets in case I don't want to index the first or last few sheets) and use it as the Description for a Index entry on a nominated sheet e.g. Sheet named 'Index'. In addition that each Description is also a hyperlink back to the sheet with the heading. In this way users can click between each entry on the index to go to the sheet and then click on the heading on the sheet to go back to the index.
Index Sheet
M21, M22 and M22-A BICYCLES1 Q21, Q22 and Q22-A BICYCLES2 R21, R22 and R22-A BICYCLES3
Taking this one step further I ideally want to save this workbook as a pdf and the hyperlinks to remain.
Is there a VBA code that will enable me to create a button and assign a certain macro to it everytime I insert a new worksheet?
how to insert a new worksheet with VBA, what I want is that when I insert that worksheet, there is already a button there with a specific macro(already made) assigned to it.