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

如何從單元格值列表中創建多個工作表?

是否有任何快速或簡便的方法讓我們根據Excel中的單元格值列表創建多個工作表? 在本文中,我將討論解決此工作的一些好技巧。

使用VBA代碼從單元格值列表中創建多個工作表

使用Kutools for Excel從單元格值列表中創建多個工作表


箭頭藍色右氣泡 使用VBA代碼從單元格值列表中創建多個工作表

若要快速創建多個以單元格值列表命名的新工作表,以下VBA代碼可以為您提供幫助。

1。 按住 ALT + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。

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

VBA代碼:從單元列表創建多個工作表:

Sub AddSheets()
'Updateby Extendoffice
    Dim xRg As Excel.Range
    Dim wSh As Excel.Worksheet
    Dim wBk As Excel.Workbook
    Set wSh = ActiveSheet
    Set wBk = ActiveWorkbook
    Application.ScreenUpdating = False
    For Each xRg In wSh.Range("A1:A7")
        With wBk
            .Sheets.Add after:=.Sheets(.Sheets.Count)
            On Error Resume Next
            ActiveSheet.Name = xRg.Value
            If Err.Number = 1004 Then
              Debug.Print xRg.Value & " already used as a sheet name"
            End If
            On Error GoTo 0
        End With
    Next xRg
    Application.ScreenUpdating = True
End Sub

備註:在上面的代碼中, A1:A7 是您要基於其創建圖紙的單元格區域,請根據需要進行更改。

3。 然後按 F5 鍵以運行此代碼,並在當前工作簿中的所有工作表之後創建新工作表,請參見屏幕截圖:

doc創建多個工作表1


箭頭藍色右氣泡 使用Kutools for Excel從單元格值列表中創建多個工作表

如果您不熟悉上述代碼,可以使用以下便捷工具-Excel的Kutools,其 創建序列工作表 函數,將基於新工作簿中的單元格值創建工作表。

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

安裝後 Excel的Kutools,請這樣做:

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

2。 在 創建序列工作表 對話框:

(1.)選擇一個您要基於其創建序列工作表的工作表;

(2.)然後選擇 數據 在範圍選項中 工作表名稱基於 列錶框,然後單擊 doc創建多個工作表4 按鈕選擇要使用的單元格值。

doc創建多個工作表3

3。 然後點擊 Ok 按鈕,已經在新工作簿中使用單元格值的名稱創建了工作表,請參見屏幕截圖:

doc創建多個工作表5

點擊立即下載並免費試用Kutools for Excel!


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

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

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

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (15)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
更好的版本。 如果存在另一個同名的工作表,這將刪除創建的工作表。 並添加了輸入框以避免手動修改代碼來選擇範圍。


子 AddSheetsFromCells()

將 xRg 調暗為範圍,wBk 作為工作簿
設置 wBk = ActiveWorkbook

出錯時轉到退出
設置 dbRange = Application.InputBox("Range:", "Select Range", _
Application.Selection.Address,類型:= 8)

Application.ScreenUpdating = False
Application.DisplayAlerts = False

對於 dbRange 中的每個 xRg
與 wBk
.Sheets.Add 之後:=.Sheets(.Sheets.Count)
在錯誤恢復下一頁
ActiveSheet.Name = xRg.Value
如果 Err.Number = 1004 那麼
Debug.Print Chr(34) & xRg.Value & Chr(34) & “已用作工作表名稱”
.ActiveSheet.刪除
如果結束
在錯誤轉到0
結束
下一個 xRg

Application.ScreenUpdating = True
Application.DisplayAlerts = True
退出:

END SUB
網站主持人對此評論進行了最小化
這似乎非常適合我嘗試處理一個例外...它正在創建空白工作表...我想為另一個工作表中的每一行創建一個現有工作表的副本。 有沒有辦法做到這一點?
網站主持人對此評論進行了最小化
如果我希望每個新創建的工作表都從模板工作表中粘貼一個模板怎麼辦? 該模板將僅具有格式和公式

謝謝
網站主持人對此評論進行了最小化
我也需要知道這一點。 你知道了嗎?
網站主持人對此評論進行了最小化
子 UpdateMAPs()
將 LR 調暗,我只要
Application.ScreenUpdating = False
使用表格(“團隊列表”)
LR = .Range("E" & Rows.Count).End(xlUp).Row
對於 i = 2 到 LR
Sheets("Blank MAP").Copy Before:=Sheets("Blank MAP")
ActiveSheet.Name = .Range("E" & i).Value
接下來,我
結束
Application.ScreenUpdating = True
END SUB

這對我有用 https://www.mrexcel.com/forum/excel-questions/553308-copy-worksheet-rename-cell-value.html
網站主持人對此評論進行了最小化
這真太了不起了! 非常感謝!
網站主持人對此評論進行了最小化
這太棒了......非常感謝你。是否有某個地方有一個公共存儲庫的 vba 代碼?
網站主持人對此評論進行了最小化
即使列表為空,它也會創建很多工作表......如果我想基於具有價值的單元格創建工作表怎麼辦?
網站主持人對此評論進行了最小化
第一次在 Excel 中使用 VBA 代碼。 在第一次嘗試時完美運行。 感謝您發布此信息。
網站主持人對此評論進行了最小化
這很好用,您如何將模板合併到每個創建的選項卡中? 即從模板複製並粘貼到每個新創建的工作表中
網站主持人對此評論進行了最小化
這很有幫助。 我可以節省很多時間。 非常感謝您抽出寶貴時間幫助我們編寫出色的代碼。
網站主持人對此評論進行了最小化
我嘗試使用 VBA 代碼,它正在創建“無名”工作表,因此 sheet1 、 2 、 3 等等,而不是使用單元格中的值作為工作表的名稱。 我試圖通過將單元格中的數據類型更改為 text 來修復,同樣的問題......


有任何想法嗎?
網站主持人對此評論進行了最小化
我有這個問題。 更正: 1. 工作表名稱僅允許 31 個字符2。 沒有特殊字符 + = ( ) [ ] \ / , : 等...查找並替換為空格
網站主持人對此評論進行了最小化
感謝您發布此信息。 我按照指示進行操作,效果很好。
網站主持人對此評論進行了最小化
Et si la liste est mouvante? 汽車 si j'ajoute des éléments dois-je tout le temps réadapter le code?
謝謝
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護