提示:其他語言是Google翻譯的。 你可以訪問 English 版本。
登入
x
or
x
x
註冊
x

or

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

是否有任何快速或簡單的方法讓我們根據Excel中的單元格值列表創建多個工作表? 在這篇文章中,我會談談解決這項工作的一些好手段。

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

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

Office選項卡在Office中啟用選項卡式編輯和瀏覽,使您的工作更輕鬆......
Kutools for Excel - 最佳辦公生產力工具將解決您的大部分Excel問題
  • 重用任何東西: 將最常用或最複雜的公式,圖表和其他任何內容添加到您的收藏夾中,並在將來快速重複使用它們。
  • 超過20文本功能: 從文本字符串中提取數字; 提取或刪除部分文本; 將數字和貨幣轉換為英語單詞...
  • 合併工具:多個工作簿和表格合二為一; 合併多個單元格/行/列而不丟失數據; 合併重複行和總和...
  • 拆分工具:根據價值將數據拆分為多個表格; 一個工作簿到多個Excel,PDF或CSV文件; 一列到多列......
  • 粘貼跳過 隱藏/過濾行; 數和總和 按背景顏色; 創建郵件列表和 通過Cell的價值發送電子郵件...
  • 超級過濾器: 創建高級過濾方案並應用於任何工作表; 分類 按週,日,頻率等; 過濾 通過大膽,公式,評論......
  • 超過300強大的功能; 適用於Office 2007-2019和365; 支持所有語言; 在公司輕鬆部署; 全功能60天免費試用。

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

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

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

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

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

Sub AddSheets()
'Updateby Extendoffice 20161215
    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從單元格值列表創建多個工作表

如果你不熟悉上面的代碼,這裡是一個方便的工具 - Kutools for Excel,其 創建序列工作表 功能,將根據新工作簿中的單元格值創建工作表。

Kutools for Excel : 與超過300方便的Excel加載項,在60天免費試用沒有限制.

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

1。 點擊 企業 > 工作表 > 創建序列工作表,看截圖:

doc創建多個工作表2

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

(1。)選擇一個工作表,您想要創建序列工作表基於;

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

doc創建多個工作表3

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

doc創建多個工作表5

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


Kutools for Excel - 最佳辦公生產力工具提高80%的生產力

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

Office選項卡為Office提供選項卡式界面,使您的工作更輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,Publisher,Access,Visio和Project。
  • 在同一窗口的新選項卡中打開並創建多個文檔,而不是在新窗口中。
  • 通過50%提高您的工作效率,每天為您減少數百次鼠標點擊!
官方底部
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Smitha · 1 months ago
    This is of great help. I could save so much time. Thank you so much for your time and for helping us with your wonderful code.
  • To post as a guest, your comment is unpublished.
    Craig · 7 months ago
    This works great, how could you incorporate a template into each created tab? i.e. copy and paste from a template into each newly created sheet
  • To post as a guest, your comment is unpublished.
    Nathan · 1 years ago
    First time using VBA code in Excel. Worked perfectly on the first try. Thanks for posting this.
  • To post as a guest, your comment is unpublished.
    amin · 1 years ago
    and it creates a lot of sheets even if the list is empty... what if i want to create sheets based on cells that have value?
  • To post as a guest, your comment is unpublished.
    GUEST · 1 years ago
    Better version. This will delete created sheet if exist another sheet with the same name. And added inputbox to avoid from manual code modification to select range.


    Sub AddSheetsFromCells()

    Dim xRg As Range, wBk As Workbook
    Set wBk = ActiveWorkbook

    On Error GoTo Quit
    Set dbRange = Application.InputBox("Range: ", "Select Range", _
    Application.Selection.Address, Type:=8)

    Application.ScreenUpdating = False
    Application.DisplayAlerts = False

    For Each xRg In dbRange
    With wBk
    .Sheets.Add After:=.Sheets(.Sheets.Count)
    On Error Resume Next
    ActiveSheet.Name = xRg.Value
    If Err.Number = 1004 Then
    Debug.Print Chr(34) & xRg.Value & Chr(34) & " already used as a sheet name"
    .ActiveSheet.Delete
    End If
    On Error GoTo 0
    End With
    Next xRg

    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    Quit:

    End Sub
    • To post as a guest, your comment is unpublished.
      Josh · 25 days ago
      this is awesome...... thank-you very much .is there somewhere where there is a public repository for vba codes?
    • To post as a guest, your comment is unpublished.
      Craig Dickeson · 7 months ago
      What if i wanted each newly created sheet to have a template pasted into it from a template sheet? The template would have formatting and formulas only

      Thanks
    • To post as a guest, your comment is unpublished.
      Richard Pigford · 1 years ago
      This appears to work great for what I am attempting to do with one exception... It is creating blank worksheets... I want to create a copy of an existing worksheet for each row in another worksheet. Is there anyway to do that?