跳到主要內容

 如何在Excel中根據工作表值複製工作表並重命名?

通常,您可以應用 移動或複制 功能複制工作表,然後根據需要手動為副本鍵入一個新名稱。 但是,您是否曾經在復制工作表後嘗試根據單元格值重命名工作表? 本文,我將討論如何在創建副本時根據單元格值自動重命名工作表。

複製工作表並使用VBA代碼根據單元格值重命名

多次復制工作表並使用Kutools for Excel根據單元格值重命名


複製工作表並使用VBA代碼根據單元格值重命名

以下VBA代碼可以幫助您複製工作表並自動使用特定的單元格值對其重命名,請執行以下操作:

1。 激活要復制的工作表,然後按住 ALT + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。

2。 點擊 插入 > 模塊,然後將以下代碼粘貼到 模塊 窗口。

VBA代碼:複製工作表並使用單元格值重命名:

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。 然後按 F5 鍵以運行此代碼,並且當前工作表已在所有工作表之後復製到當前工作簿中,並使用您指定的單元格值重命名,請參見屏幕截圖:

doc按值1複製raname

備註:在上面的代碼中,單元格引用 A1 是您要為新復制的工作表重命名的單元格值,您可以根據需要進行更改。


多次復制工作表並使用Kutools for Excel根據單元格值重命名

上面的代碼只能使用一個單元格值進行重命名,如果您需要多次復制工作表並根據單元格值列表對其進行重命名, Excel的Kutools創建序列工作表 可能會幫助您盡快完成此任務。

Excel的Kutools : 帶有300多個便捷的Excel加載項,可以在30天內免費試用. 

安裝後 Excel的Kutools,請執行以下操作:

1。 點擊 Kutools 加 > 下載學習單 > 創建序列工作表,請參見屏幕截圖:

doc按值3複製raname

2。 在 創建序列工作表 對話框中,進行以下操作:

(1.)從列表中選擇要復制的工作表名稱。 基本工作表 下拉列表;

(2.)在[ 工作表名稱基於 部分,然後單擊 doc按值5複製raname 按鈕以選擇您要重命名複製的工作表所基於的單元格值。

立即下載Kutools for Excel!

3。 然後點擊 Ok 按鈕,並且特定工作表已被複製多次,並使用您在新工作簿中選擇的單元格值重命名,請參見屏幕截圖:

doc按值4複製raname

立即下載和免費試用Excel的Kutools!


演示:多次復制工作表並使用Kutools for Excel根據單元格值重命名

Excel的Kutools:具有300多個方便的Excel加載項,可以在30天內免費試用,沒有任何限制。 立即下載並免費試用!

最佳辦公生產力工具

🤖 Kutools 人工智慧助手:基於以下內容徹底改變數據分析: 智慧執行   |  生成代碼  |  建立自訂公式  |  分析數據並產生圖表  |  呼叫 Kutools 函數...
熱門特色: 尋找、突出顯示或識別重複項   |  刪除空白行   |  合併列或儲存格而不遺失數據   |   沒有公式的回合 ...
超級查詢: 多條件VLookup    多值VLookup  |   跨多個工作表的 VLookup   |   模糊查詢 ....
高級下拉列表: 快速建立下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
欄目經理: 新增特定數量的列  |  移動列  |  切換隱藏列的可見性狀態  |  比較範圍和列 ...
特色功能: 網格焦點   |  設計圖   |   大方程式酒吧    工作簿和工作表管理器   |  資源庫 (自動文字)   |  日期選擇器   |  合併工作表   |  加密/解密單元格    按清單發送電子郵件   |  超級濾鏡   |   特殊過濾器 (過濾粗體/斜體/刪除線...)...
前 15 個工具集12 文本 工具 (添加文本, 刪除字符,...)   |   50+ 圖表 類型 (甘特圖,...)   |   40+ 實用 公式 (根據生日計算年齡,...)   |   19 插入 工具 (插入二維碼, 從路徑插入圖片,...)   |   12 轉化 工具 (數字到單詞, 貨幣兌換,...)   |   7 合併與拆分 工具 (高級合併行, 分裂細胞,...)   |   ... 和更多

使用 Kutools for Excel 增強您的 Excel 技能,體驗前所未有的效率。 Kutools for Excel 提供了 300 多種進階功能來提高生產力並節省時間。  點擊此處獲取您最需要的功能...

產品描述


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

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
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