Skip to main content

 How to copy sheet and rename based on cell value in Excel?

Normally, you can apply the Move or Copy feature to copy a worksheet, and then type a new name for the copy manually as you need. But, have you ever tried to rename the sheet based on a cell value after copying the worksheet? This article, I will talk about how to rename the worksheet based on cell value automatically when you make a copy.

Copy a worksheet and rename based on cell value with VBA code

Copy a worksheet multiple times and rename based on cell values with Kutools for Excel


Copy a worksheet and rename based on cell value with VBA code

The following VBA code can help you to copy a worksheet and rename it with a specific cell value automatically, please do as this:

1. Activate the worksheet that you want to copy, and then hold down the ALT + F11 keys to open the Microsoft Visual Basic for Applications window.

2. Click Insert > Module, and paste the following code in the Module Window.

VBA code: Copy a worksheet and rename with a cell value:

Sub Copyrenameworksheet()
'Updateby Extendoffice
    Dim ws As Worksheet
    Set wh = Worksheets(ActiveSheet.Name)
    ActiveSheet.Copy After:=Worksheets(Sheets.Count)
    If wh.Range("A1").Value <> "" Then
    ActiveSheet.Name = wh.Range("A1").Value
    End If
    wh.Activate
End Sub

3. And then press F5 key to run this code, and your current worksheet has been copied into current workbook after all the worksheets, and it is renamed with the cell value you specified, see screenshot:

doc copy raname by value 1

Note: In the above code, the cell reference A1 is the cell value you want to rename for the new copied sheet, you can change it to your need.


Copy a worksheet multiple times and rename based on cell values with Kutools for Excel

The above code can only rename with one cell value, if you need to copy the sheet multiple times and rename them based on a list of cell values, Kutools for Excel’s Create Sequence Worksheet may help you to finish this task as quickly as you can.

Kutools for Excel : with more than 300 handy Excel add-ins, free to try with no limitation in 30 days. 

After installing Kutools for Excel, please do as follows:

1. Click Kutools Plus > Worksheet > Create Sequence Worksheets, see screenshot:

doc copy raname by value 3

2. In the Create Sequence Worksheet dialog box, do the following operations:

(1.) Select the worksheet name that you want to copy from the Base Worksheet drop down list;

(2.) Select Data in a range option under the Sheet names based on section, and click doc copy raname by value 5 button to select the cell values that you want to rename the copied worksheets based on.

Download Kutools for Excel Now !

3. Then click Ok button, and the specific worksheet have been copied multiple times and renamed with the cell values you selected in a new workbook, see screenshot:

doc copy raname by value 4

Download and free trial Kutools for Excel Now !


Demo: Copy a worksheet multiple times and rename based on cell values with Kutools for Excel

Kutools for Excel: with more than 300 handy Excel add-ins, free to try with no limitation in 30 days. Download and free trial Now!

Best Office Productivity Tools

🤖 Kutools AI Aide: Revolutionize data analysis based on: Intelligent Execution   |  Generate Code  |  Create Custom Formulas  |  Analyze Data and Generate Charts  |  Invoke Kutools Functions
Popular Features: Find, Highlight or Identify Duplicates   |  Delete Blank Rows   |  Combine Columns or Cells without Losing Data   |   Round without Formula ...
Super Lookup: Multiple Criteria VLookup    Multiple Value VLookup  |   VLookup Across Multiple Sheets   |   Fuzzy Lookup ....
Advanced Drop-down List: Quickly Create Drop Down List   |  Dependent Drop Down List   |  Multi-select Drop Down List ....
Column Manager: Add a Specific Number of Columns  |  Move Columns  |  Toggle Visibility Status of Hidden Columns  |  Compare Ranges & Columns ...
Featured Features: Grid Focus   |  Design View   |   Big Formula Bar    Workbook & Sheet Manager   |  Resource Library (Auto Text)   |  Date Picker   |  Combine Worksheets   |  Encrypt/Decrypt Cells    Send Emails by List   |  Super Filter   |   Special Filter (filter bold/italic/strikethrough...) ...
Top 15 Toolsets12 Text Tools (Add Text, Remove Characters, ...)   |   50+ Chart Types (Gantt Chart, ...)   |   40+ Practical Formulas (Calculate age based on birthday, ...)   |   19 Insertion Tools (Insert QR Code, Insert Picture from Path, ...)   |   12 Conversion Tools (Numbers to Words, Currency Conversion, ...)   |   7 Merge & Split Tools (Advanced Combine Rows, Split Cells, ...)   |   ... and more

Supercharge Your Excel Skills with Kutools for Excel, and Experience Efficiency Like Never Before. Kutools for Excel Offers Over 300 Advanced Features to Boost Productivity and Save Time.  Click Here to Get The Feature You Need The Most...

Description


Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier

  • Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
  • Open and create multiple documents in new tabs of the same window, rather than in new windows.
  • Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Your code is what I have been looking for, however the cell contents that I wish to use to rename the sheet is a date. For example, on the first sheet, cell A2 displays a date as Monday 3 April 2017. What I would like to happen is when the next sheet is created by the macro would be to take the date from A2, add 7 to display, for example, "Monday 10 July, 2017" but rename the new sheet in the dd-mm-yy format, so "10-07-17". Is this possible? By the way, I have Kutools for Excel, but this spreasheet will be a blood pressure record for my dad who doesnt have Kutools. Thanks in advance!
This comment was minimized by the moderator on the site
The code below works great. My question is, is it possible to automatically open the new worksheet (based on A1) and delete the content from the previous sheet as it is being used as the template. Sub Copyrenameworksheet() 'Updateby Extendoffice 20160704 Dim ws As Worksheet Set wh = Worksheets(ActiveSheet.Name) ActiveSheet.Copy After:=Worksheets(Sheets.Count) If wh.Range("A1").Value "" Then ActiveSheet.Name = wh.Range("A1").Value End If wh.Activate End Sub
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations