Note: The other languages of the website are Google-translated. Back to English
English English

如何使工作表標籤名稱等於Excel中的單元格值?

在某些情況下,您可能需要根據指定的單元格值重命名工作表。 在本文中,我們將向您展示使表格選項卡名稱等於Excel中單元格值的方法。

使用VBA代碼使工作表標籤名稱等於單元格值
使用Kutools for Excel使工作表選項卡名稱等於單元格值


使用VBA代碼使工作表標籤名稱等於單元格值

使用以下VBA代碼,可以使工作表標籤名稱自動等於單元格值。

1.右鍵單擊要使工作表名稱等於單元格值的工作表選項卡,然後單擊 查看代碼 從右鍵單擊菜單中。 看截圖:

2.複製下面的代碼並將其粘貼到“代碼”窗口中,然後按 其他 + Q 同時按下兩個鍵以關閉“ Microsoft Visual Basic for Applications”窗口。

VBA代碼:使工作表標籤等於單元格值

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

備註:在代碼中,A1是包含您需要用作工作表名稱的值的單元格。 您可以根據需要進行更改。

從現在開始,當單元格A1中的值更改時,工作表標籤名稱也將同樣更改。


使用Kutools for Excel使工作表選項卡名稱等於單元格值

在本節中,我們向您介紹 重命名多個工作表 的效用 Excel的Kutools。 使用此實用程序,您可以輕鬆地在Excel中使用某些單元格的值來重命名工作表。

申請前 Excel的Kutools首先下載並安裝.

1。 點擊 Kutools 加 > 下載學習單 > 重命名多個工作表。 看截圖:

2。 在裡面 重命名多個工作表 對話框,您需要執行以下操作。

1)。 檢查您要重命名的工作表名稱 工作表 框(您可以選擇一張或多張紙)。
2)。 選擇 替換原始工作表名稱 盒子裡 重命名選項 部分。
3)。 如果要使用指定單元格的值重命名一個或多個工作表,請選擇 從特定範圍 選項,然後選擇要基於其重命名工作表的單元格範圍。
4)。 點擊 OK 按鈕。 看截圖:

您可以看到所選工作表立即被指定的範圍值重命名,如下面的屏幕截圖所示。

筆記:

1.您可以使用 篩選 函數可以輕鬆過濾出所需的工作表(如果存在很多工作表)。
2.如果要重命名每個工作表中具有特定單元格值的多個工作表。 例如,sheet1將等於其單元格A1的值,並且sheet2也將等於其單元格A1的值。 請在 工作表 框,然後選擇 重命名具有特定單元格的工作表 選項,然後在框中指定單元格A1。

3.表格名稱不會隨著單元格值的更改而自動更改。

  如果您想免費試用該工具(30天), 請點擊下載,然後按照上述步驟進行操作。


使用Kutools for Excel使工作表選項卡名稱等於單元格值


最佳辦公效率工具

Kutools for Excel解決了您的大多數問題,並使您的生產率提高了80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過300種強大功能。 支持Office / Excel 2007-2019和365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能30天免費試用。 60天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 每天將您的工作效率提高50%,並減少數百次鼠標單擊!
officetab底部
按評論排序
留言 (26)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
我按照說明粘貼了它,但它沒有出現在我的可用宏列表中。 我嘗試通過鍵入宏名稱來手動運行它。 當它試圖運行宏時,出現了一條錯誤消息“Argument no optional”。

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) 什麼都不是
ActiveSheet.Name = ActiveSheet.Range("A1")
如果結束
END SUB

有其他人運行此代碼並遇到同樣的問題嗎?

作為測試,我運行了更多基本代碼並且運行良好,因此“A1”中的值不會導致問題。 當我運行下面的代碼時,我可以在宏列表中看到宏名稱“myTabName”。 上面的代碼沒有出現,我假設這是因為 bug/missing 參數。

子 myTabName()
ActiveSheet.Name = ActiveSheet.Range("A1")
END SUB

感謝您的幫助,因為我非常想使用代碼來根據單元格值自動更改選項卡名稱。
網站主持人對此評論進行了最小化
親愛的傑森,
該代碼在我的情況下運行良好。 請提供您的 Office 版本好嗎? 感謝您的評論。
網站主持人對此評論進行了最小化
我正在使此代碼正常工作,但是如果引用另一個單元格(並且該單元格發生更改),它不會自動更新選項卡名稱。


即我更改了主列表中的一個單元格,這會更改每個選項卡上特定單元格中的單元格文本,代碼將其引用為選項卡名稱,但選項卡不會相應地更新其名稱。
網站主持人對此評論進行了最小化
美好的一天,
以下 VBA 代碼可以解決您的問題。 謝謝你的評論1

Private Sub Worksheet_Change(ByVal Target As Range)
將 xRg 作為範圍調暗,將 xCell 作為範圍調暗
在錯誤恢復下一頁
If Not Intersect(Target, Range("A1")) 什麼都不是
ActiveSheet.Name = ActiveSheet.Range("A1")
如果結束
Application.EnableEvents = False
設置 xRg = ActiveSheet.Range("A1").Precedents
如果不是 xRg 什麼都不是,那麼
對於 xRg 中的每個 xCell
ActiveSheet.Name = ActiveSheet.Range("A1")
下一頁
如果結束
Application.EnableEvents = True
END SUB
網站主持人對此評論進行了最小化
還是不行。 我和jJJ有同樣的問題。 水晶:您的回復中是否顯示了整個代碼?
您評論中顯示的最後一行是“Set xRg = ActiveSheet.Range("A1").Precedents”
網站主持人對此評論進行了最小化
親愛的 JAS,
請點擊評論右側的閱讀更多按鈕以顯示整個評論。
網站主持人對此評論進行了最小化
仍然有同樣的問題。

我有新工作表的 A1 指向不同選項卡中的另一個單元格。 它第一次更新(當你執行時),但在編輯主單元格時沒有變化
網站主持人對此評論進行了最小化
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
設置目標 = 範圍(“A1”)
If Target = "" Then Exit Sub
出錯時轉到壞名
ActiveSheet.Name = 左(目標,31)
退出小組
壞名:
MsgBox "請修改A1中的條目。" & Chr(13) _
& "它似乎包含一個或多個" & Chr(13) _
&“非法字符”。 & Chr(13)
範圍(“A1”)。激活
END SUB
網站主持人對此評論進行了最小化
問題還是一樣,第一次就變了。 當我將該單元格鏈接到另一個工作表並更改它時,它不會自動更改它
網站主持人對此評論進行了最小化
我需要使用此代碼,但我以前從未輸入過 vba 代碼。 任何指導將不勝感激。
網站主持人對此評論進行了最小化
我更改了主列表中的一個單元格,這會更改每個選項卡上特定單元格中的單元格文本,代碼將其引用為選項卡名稱,但選項卡不會相應地更新其名稱。

----這行不通
網站主持人對此評論進行了最小化
我得到了整個代碼,它工作。 非常感謝你的幫助!
網站主持人對此評論進行了最小化
親愛的 JAS,
我很高興能幫上忙。
網站主持人對此評論進行了最小化
您可以使用簡單的宏



Sub Macro3()
暗淡索引為整數
對於索引 = 1 到 18

Sheets(index).Name = Sheets(index).Range("A2").Value

下一個索引



END SUB
網站主持人對此評論進行了最小化
美好的一天,
謝謝你的分享。
網站主持人對此評論進行了最小化
這正是我所需要的,但我需要標籤來重新創建日期並且它不起作用......我認為這與 excel 計算日期和時間的方式有關,任何人都可以提出解決方法嗎?
網站主持人對此評論進行了最小化
您好尼克,
Excel 不支持鍵入包含特殊字符的工作表名稱。 如果您鍵入的日期包含字符 /,它將不允許您使用該日期創建工作表名稱。
網站主持人對此評論進行了最小化
如何引用兩個單元格。 例如姓名和身份證號碼?
網站主持人對此評論進行了最小化
我正在使用您上面的確切代碼作為 VBA 代碼,它非常適合我的需要。 但是,我在名為 Job Template 的工作表上有一堆宏,這些宏會被複製並重複用於每個新工作。 我基於一個名為 Job Template (2) 的新復製版本設計了所有宏。 一旦工作表名稱更改為新的作業名稱,宏就不再起作用,必須手動執行。 我希望能夠在任何時候使用我的任何宏按鈕,而不是僅在更改工作表名稱之前使用它們。

有沒有辦法讓 VBA 代碼在運行其餘代碼函數之前始終引用工作表名稱?
網站主持人對此評論進行了最小化
可以通過 Kutools Plus 更改名稱的最高工作表數量是多少? 因為excel讓我只有17個名字可以改變,就是這樣
網站主持人對此評論進行了最小化
這對我的第一個工作表非常有效,但不適用於第二個或第三個等(我最多有大約 20 個工作表都需要這個功能)。 我錯過了什麼嗎?
網站主持人對此評論進行了最小化
嗨,歐文,
此代碼每次僅適用於一個工作表。 帶來不便敬請諒解。
網站主持人對此評論進行了最小化
嗨水晶,

當我粘貼您的代碼時,它返回錯誤“未定義用戶定義的類型”?

謝謝。
網站主持人對此評論進行了最小化
嗨,湯姆 J,
確保在 References - VBAProject 對話框中選中這三個選項。
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/error.png
網站主持人對此評論進行了最小化
工作得很好!
網站主持人對此評論進行了最小化
卓悅,
que voulez-vous dire par appuyer autre autre+q dans le code vba après avoir collé。
J'ai simplement fermé la page après avoir collé et ça ne marche pas
謝謝
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點