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

如何使工作表标签名称等于Excel中的单元格值?

在某些情况下,您可能需要根据指定的单元格值重命名工作表。 在本文中,我们将向您展示使表格选项卡名称等于Excel中单元格值的方法。

使用VBA代码使工作表标签名称等于单元格值
使用Kutools for Excel使工作表选项卡名称等于单元格值


使用VBA代码使工作表标签名称等于单元格值

使用以下VBA代码,可以使工作表标签名称自动等于单元格值。

1.右键单击要使工作表名称等于单元格值的工作表选项卡,然后单击 查看代码 从右键单击菜单中。 看截图:

2.复制下面的代码并将其粘贴到“代码”窗口中,然后按 其他 + Q 同时按下键以关闭“ Microsoft Visual Basic for Applications”窗口。

VBA代码:使工作表标签等于单元格值

Private Sub Worksheet_Change(ByVal Target As Range)
	If Not Intersect(Target, Range("A1")) Is Nothing Then
		ActiveSheet.Name = ActiveSheet.Range("A1")
	End If
End Sub

备注:在代码中,A1是包含您需要用作工作表名称的值的单元格。 您可以根据需要进行更改。

从现在开始,当单元格A1中的值更改时,工作表标签名称也将同样更改。


使用Kutools for Excel使工作表选项卡名称等于单元格值

在本节中,我们向您介绍 重命名多个工作表 实用程序 Kutools for Excel。 使用此实用程序,您可以轻松地在Excel中使用某些单元格的值来重命名工作表。

申请前 Kutools for Excel首先下载并安装.

1。 点击 Kutools 加 > 工作表 > 重命名多个工作表。 看截图:

2。 在里面 重命名多个工作表 对话框,您需要执行以下操作。

1)。 检查您要重命名的工作表名称 工作表 框(您可以选择一张或多张纸)。
2)。 选择 替换原始工作表名称 重命名选项 部分。
3)。 如果要使用指定单元格的值重命名一个或多个工作表,请选择 从特定范围 选项,然后选择要基于其重命名工作表的单元格范围。
4)。 点击 OK 按钮。 看截图:

您可以看到所选工作表立即被指定的范围值重命名,如下面的屏幕截图所示。

说明:

1.您可以使用 筛选器 函数可以轻松过滤出所需的工作表(如果存在很多工作表)。
2.如果要重命名每个工作表中具有特定单元格值的多个工作表。 例如,sheet1将等于其单元格A1的值,并且sheet2也将等于其单元格A1的值。 请在 工作表 框,然后选择 重命名具有特定单元格的工作表 选项,然后在框中指定单元格A1。

3.表格名称不会随着单元格值的更改而自动更改。

  如果您想免费试用该工具(30天), 请点击下载,然后按照上述步骤进行操作。


使用Kutools for Excel使工作表选项卡名称等于单元格值


最佳办公效率工具

Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%

  • 重用: 快速插入 复杂的公式,图表 以及您以前使用过的任何东西; 加密单元 带密码 创建邮件列表 并发送电子邮件...
  • 超级公式栏 (轻松编辑多行文本和公式); 阅读版式 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
  • 合并单元格/行/列 不会丢失数据; 拆分单元格内容; 合并重复的行/列...防止细胞重复; 比较范围...
  • 选择重复或唯一 行; 选择空白行 (所有单元格都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择...
  • 确切的副本 多个单元格,无需更改公式参考; 自动创建参考 到多张纸; 插入项目符号,复选框等...
  • 提取文字,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
  • 超级滤镜 (将过滤方案保存并应用于其他工作表); 高级排序 按月/周/日,频率及更多; 特殊过滤器 用粗体,斜体...
  • 结合工作簿和工作表; 根据关键列合并表; 将数据分割成多个工作表; 批量转换xls,xlsx和PDF...
  • 超过300种强大功能。 支持Office / Excel 2007-2019和365。支持所有语言。 在您的企业或组织中轻松部署。 完整功能30天免费试用。 60天退款保证。
kte选项卡201905

Office选项卡为Office带来了选项卡式界面,使您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
officetab底部
按评论排序
注释 (24)
还没有评分。 成为第一位评论!
该评论由网站上的主持人最小化
我按照说明粘贴了它,但它没有出现在我的可用宏列表中。 我尝试通过键入宏名称来手动运行它。 当它试图运行宏时,出现了一条错误消息“Argument no optional”。

私人子Worksheet_Change(按目标的ByVal目标)
If Not Intersect(Target, Range("A1")) 什么都不是
ActiveSheet.Name = ActiveSheet.Range("A1")
结束如果
END SUB

有其他人运行此代码并遇到同样的问题吗?

作为测试,我运行了更多基本代码并且运行良好,因此“A1”中的值不会导致问题。 当我运行下面的代码时,我可以在宏列表中看到宏名称“myTabName”。 上面的代码没有出现,我假设这是因为 bug/missing 参数。

子 myTabName()
ActiveSheet.Name = ActiveSheet.Range("A1")
END SUB

感谢您的帮助,因为我非常想使用代码来根据单元格值自动更改选项卡名称。
该评论由网站上的主持人最小化
亲爱的杰森,
该代码在我的情况下运行良好。 请提供您的 Office 版本好吗? 感谢您的评论。
该评论由网站上的主持人最小化
我正在使此代码正常工作,但是如果引用另一个单元格(并且该单元格发生更改),它不会自动更新选项卡名称。


即我更改了主列表中的一个单元格,这会更改每个选项卡上特定单元格中的单元格文本,代码将其引用为选项卡名称,但选项卡不会相应地更新其名称。
该评论由网站上的主持人最小化
美好的一天,
以下 VBA 代码可以解决您的问题。 谢谢你的评论1

私人子Worksheet_Change(按目标的ByVal目标)
将 xRg 作为范围调暗,将 xCell 作为范围调暗
出错时继续下一步
If Not Intersect(Target, Range("A1")) 什么都不是
ActiveSheet.Name = ActiveSheet.Range("A1")
结束如果
Application.EnableEvents = False
设置 xRg = ActiveSheet.Range("A1").Precedents
如果不是 xRg 什么都不是,那么
对于 xRg 中的每个 xCell
ActiveSheet.Name = ActiveSheet.Range("A1")
下一页
结束如果
Application.EnableEvents = True
END SUB
该评论由网站上的主持人最小化
还是不行。 我和jJJ有同样的问题。 水晶:您的回复中是否显示了整个代码?
您评论中显示的最后一行是“Set xRg = ActiveSheet.Range("A1").Precedents”
该评论由网站上的主持人最小化
亲爱的 JAS,
请点击评论右侧的阅读更多按钮以显示整个评论。
该评论由网站上的主持人最小化
仍然有同样的问题。

我有新工作表的 A1 指向不同选项卡中的另一个单元格。 它第一次更新(当你执行时),但在编辑主单元格时没有变化
该评论由网站上的主持人最小化
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
设置目标 = 范围(“A1”)
If Target = "" Then Exit Sub
出错时转到坏名
ActiveSheet.Name = 左(目标,31)
退出小组
坏名:
MsgBox "请修改A1中的条目。" & Chr(13) _
& "它似乎包含一个或多个" & Chr(13) _
&“非法字符”。 & Chr(13)
范围(“A1”)。激活
END SUB
该评论由网站上的主持人最小化
问题还是一样,第一次就变了。 当我将该单元格链接到另一个工作表并更改它时,它不会自动更改它
该评论由网站上的主持人最小化
我需要使用此代码,但我以前从未输入过 vba 代码。 任何指导将不胜感激。
该评论由网站上的主持人最小化
我更改了主列表中的一个单元格,这会更改每个选项卡上特定单元格中的单元格文本,代码将其引用为选项卡名称,但选项卡不会相应地更新其名称。

----这行不通
该评论由网站上的主持人最小化
我得到了整个代码,它工作。 非常感谢你的帮助!
该评论由网站上的主持人最小化
亲爱的 JAS,
我很高兴能帮上忙。
该评论由网站上的主持人最小化
您可以使用简单的宏



子宏3()
暗淡索引为整数
对于索引 = 1 到 18

Sheets(index).Name = Sheets(index).Range("A2").Value

下一个索引



END SUB
该评论由网站上的主持人最小化
美好的一天,
谢谢你的分享。
该评论由网站上的主持人最小化
这正是我所需要的,但我需要标签来重新创建日期并且它不起作用......我认为这与 excel 计算日期和时间的方式有关,任何人都可以提出解决方法吗?
该评论由网站上的主持人最小化
嗨,尼克,
Excel 不支持键入包含特殊字符的工作表名称。 如果您键入的日期包含字符 /,它将不允许您使用该日期创建工作表名称。
该评论由网站上的主持人最小化
如何引用两个单元格。 例如姓名和身份证号码?
该评论由网站上的主持人最小化
我正在使用您上面的确切代码作为 VBA 代码,它非常适合我的需要。 但是,我在名为 Job Template 的工作表上有一堆宏,这些宏会被复制并重复用于每个新工作。 我基于一个名为 Job Template (2) 的新复制版本设计了所有宏。 一旦工作表名称更改为新的作业名称,宏就不再起作用,必须手动执行。 我希望能够在任何时候使用我的任何宏按钮,而不是仅在更改工作表名称之前使用它们。

有没有办法让 VBA 代码在运行其余代码函数之前始终引用工作表名称?
该评论由网站上的主持人最小化
可以通过 Kutools Plus 更改名称的最高工作表数量是多少? 因为 excel 只允许我更改 17 个名称,仅此而已
该评论由网站上的主持人最小化
这对我的第一个工作表非常有效,但不适用于第二个或第三个等(我最多有大约 20 个工作表都需要这个功能)。 我错过了什么吗?
该评论由网站上的主持人最小化
嗨,欧文,
此代码每次仅适用于一个工作表。 带来不便敬请谅解。
该评论由网站上的主持人最小化
嗨水晶,

当我粘贴您的代码时,它返回错误“未定义用户定义的类型”?

谢谢。
该评论由网站上的主持人最小化
嗨,汤姆 J,
确保在 References - VBAProject 对话框中选中这三个选项。
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/error.png
这里还没有评论
留下你的意见
以访客身份发帖
×
评价此帖子:
0   产品特性
建议地点