提示:其它语言是由 Google 机器翻译的。 你可以访问 English 版本。
登录
x
or
x
x
马上登记
x

or

如何复制表格并在Excel中根据单元格值进行重命名?

通常情况下,你可以申请 移动或复制 功能来复制工作表,然后根据需要手动键入新副本名称。 但是,有没有试过在复制工作表之后根据单元格值重命名工作表? 本文将讨论如何在复制时自动根据单元格值重命名工作表。

复制工作表并使用VBA代码根据单元格值进行重命名

使用Kutools for Excel,多次复制工作表并根据单元格值进行重命名


复制工作表并使用VBA代码根据单元格值进行重命名


下面的VBA代码可以帮助你复制一个工作表,并用一个特定的单元格值自动重命名,请这样做:

1。 激活要复制的工作表,然后按住 ALT + F11 键打开 Microsoft Visual Basic for Applications 窗口。

2。 点击 插页 > 模块,并将以下代码粘贴到 模块 窗口。

VBA代码:复制工作表并用单元格值重命名:

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

3。 然后按 F5 键来运行此代码,并且当前工作表已被复制到所有工作表的当前工作簿中,并且已用您指定的单元格值重命名,请参阅屏幕截图:

doc通过值1复制raname

注意:在上面的代码中,单元格引用 A1 是要为新复制的工作表重新命名的单元格值,可以将其更改为您的需要。


使用Kutools for Excel,多次复制工作表并根据单元格值进行重命名

上面的代码只能重命名一个单元格值,如果您需要多次复制工作表并根据单元格值列表重命名它们, Kutools for Excel创建序列工作表 可以帮助你尽快完成这项任务。

Kutools for Excel : 与超过300方便的Excel加载项,在60天免费试用没有限制.

安装后 Kutools for Excel请按照以下步骤进行:

1。 点击 企业服务 > 工作表 > 创建序列工作表,看截图:

doc通过值2复制raname

doc通过值3复制raname

2。 在 创建序列工作表 对话框,请执行以下操作:

(1。)从中选择要复制的工作表名称 基本工作表 下拉列表;

(2。)选择数据下的范围选项 工作表名称基于 部分,然后单击 doc通过值5复制raname 按钮来选择要重命名复制工作表的单元格值。

立即下载Kutools for Excel!

3。 然后点击 Ok 按钮,并且特定工作表已被复制多次,并使用您在新工作簿中选择的单元格值重命名,请参阅屏幕截图:

doc通过值4复制raname

立即下载并免费试用Kutools for Excel!


演示:复制工作表多次,并使用Kutools for Excel根据单元格值进行重命名

Kutools for Excel:比200方便的Excel加载项,可以在60天免费试用。 下载并免费试用现在!


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.
    Phil · 2 years ago
    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!
  • To post as a guest, your comment is unpublished.
    joe · 2 years ago
    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