Usually we often define worksheet tab name depending on the contents of this worksheet like Summary, Product List etc. But in some cases, we want to define the worksheet name equals to the text in specified cell, for example we want to the contents in A1 cell is also displayed as the worksheet tab name, how can we do? This article will help you solve this problem by edit VBA code.
Make Worksheet Tab Name Equals to Cell Value in Excel
In a new excel worksheet, the default tab name is Sheet1. We can rename it by directly type a new name to replace it. We can also define tab name as same as the value in cell A1 (or any other cell you like) by VBA. See details below.
Step 1: Right click on Sheet1 to load Sheet management menu. Select View Code, Microsoft Visual Basic for Applications window pops up.
Or you can enter Microsoft Visual Basic for Applications window via Developer->Visual Basic.
Step 2: In Microsoft Visual Basic for Applications window, click on Sheet1, enter below code:
Private Sub Worksheet_Change(ByVal Target As Range) ActiveSheet.Name = ActiveSheet.Range("A1") End Sub
Step 3: Save the codes. And quit Microsoft Visual Basic for Applications.
Step 4: In current sheet1, in cell A1, enter the tab name for example Product List, then click Enter.
Verify that Sheet1 is changed to Product List which is saved in cell A1.
This code is only applied for worksheet1. So, for other worksheets it doesn’t work.
If enter a value with invalid characters like /, error message will pop up. See screenshot below:
If A1 is blank or clear A1, below error message will pop up.
So, if we want avoid the case of blank A1, we can edit code with more criteria:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A1")) Is Nothing Then ActiveSheet.Name = ActiveSheet.Range("A1") End If End Sub
You can change A1 cell to other cell by replace A1 in above code.