提示:其它语言是由 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!


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 · 26 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?