怎样修改excel表格名称

发布时间: 2023-11-30 12:54 阅读: 文章来源:1MUMB105254PS

如果你的Excel工作薄里面有多个工作表,但你又需要重新命名工作表,是不是手动一个一个去修改,不但工作效率低下,而且当你修改完成后又发现漏掉一个或者某一个修改错误了,又得一遍一遍的查找修改。别再浪费时间了!跟我们一起来学习如何批量修改工作表名称吧!

今天和大家分享的VBA小代码内容是……

呃,对了,先说个事,之前给大家分享的一键提取工作表名称并建立超链接的小代码,不知道大家还记得吗?VBA常用小代码:一键生成带超链接的工作表目录

您问我为啥突然问这话,绝壁不是我犯抽,而是那段小代码对我们今天的问题非常重要。

我们今天分享的内容是——如何一键批量修改工作表名称。

举个例子,如下图的A列所示,工作表名是一些可爱家伙。

现在,我们想把工作表名称,根据E:F列的匹配信息,修改为如下形式,部门-人名:

(栗子里表名修改的规则,就是依照E:F的信息,在每个人名前增加部门的前缀)

首先,我们把该工作簿现有工作表的名称提取出来,放置在表格的A列。这样一来,我们就可以很方便地利用函数公式,比如IF、VLOOKUP函数等,根据E:F列的内容,对表名做针对性的修改。

看我小眼神,这就用到了我们之前说的VBA常用小代码系列,一键生成工作表目录不是?

利用该段小代码,一键我们就可以把表名提取到A列了。

当然,那期的代码是批量提取工作表名称并建立超链接,我们这里不需要建

立超链接,代码可以简化如下:

Sub ml()

Dim sht As Worksheet, k&

[a:a] = ""

‘清空A列数据

[a1] = "目录"

k = 1

For Each sht In Worksheets

‘遍历工作簿中每个工作表

k = k + 1

‘累加K值

Cells(k, 1) = sht.Name

‘将工作表名称依次放入表格A列

Next

End Sub

第二步,我们把新的工作表名称用函数计算出来,放在表格的B列。

该例中的E:F列提供了每个人员的部门参数,我们可以在B2输入公式,并向下复制填充:

=IFERROR(VLOOKUP(A2,E:F,2,)&"-"&A2,A2)

最后,就是一键更名了。

代码也不长,如下:

Sub rename()

Dim shtname$, sht As Worksheet, i&

On Error Resume Next

‘当程序运行中出现错误时,继续运行

For i = 1 To Cells(Rows.Count, 1).End(3).Row

‘遍历当前表格A列的数据

shtname = Cells(i, 1)

‘将表格A列的值,赋予变量shtname

‘之所以将shtname的变量类型定义为文本,是防止A列数据为数值时和sheet序列引用产生冲突。

Set sht = Sheets(shtname)

If Err = 0 Then

‘如果工作簿存在sht表,则更名

Sheets(shtname).Name = Cells(i, 2)

Else

‘如果工作薄不存在sht表,则清除错误,对下一个值判断处理

Err.Clear

End If

Next

End Sub

看下动画效果:

是不是很有趣小炫酷?

至此,Microsoft Excel一键获取并批量修改工作表名称操作流程已经介绍完毕。Office的VBA功能强大到难以想象的地步,几乎任何一个看似“难于上青天”的问题都可轻松解决,当然前提是需要动脑筋学习VBA编程。如果有编程基础的话上手当然很容易,即便没有编程基础的小伙伴也可自学成才,世上无难事只怕有心人。Microsoft Excel工作薄不属于消耗品,您可以在原有的编程基础上不断的完善,不断的改进,也许你会做到别人做不到的东西。有的用Excel作画,作品美轮美奂;有的用Excel做小游戏……世上无难事,只怕有心人,拒绝借口,日本80岁高龄老太太退休后自学编程成码农,别人能做成的事情,相信我们也可以。动动手指点击关注,每天掌握一些科技小技巧,相信也会为您的工作和生活带来便捷,何乐而不为呢?

以上就是《excel批量修改工作表名称就这么任性!(附代码)》!的全部内容了,希望大家看完后能有所启发,对自己的工作生活有所帮助,想要了解更多跟excel批量修改工作表名称就任性!批量更改工作表名称相关的内容,请关注我们!

•••展开全文
相关文章