Excel是许多职场人士常用的烦恼之源,学习相关技巧需耗费大量时间。简道云作为一款办公神器,能很好地替代Excel。它是一个在线表单和数据管理工具,支持PC端和手机微信浏览器操作。除此之外,简道云还能辅助企业进行流程审批、财务报销、人事管理等业务管理,满足不同需求。
excel 如何将工作表名改为工作表内指定的固定单元格的值?
我有很多工作表,需要将工作表名改为工作表内指定的固定单元格的值,有什么好方法么?
简单,一段VBA搞定。【Alt+F11】打开VBA窗口,【插入】——【模块】,将下面这段代码粘贴进去,按F5运行就可以了。 Public Sub果果( ) For i=1 To Sheets.Count Sheets(i).Name=Sheets(i).Cells(1,2) Next End Sub
小白:哇,好厉害,但是为什么只有前四个工作表完成了批量改名,最后一个工作表没有改,而且出现了报错呢?
果果:那是因为你的最后一个工作表里面有合并单元格啊,只要在代码里面加一句On Error Resume Next再运行,在遇到错误的时候就会自动跳过,而不弹出错误提示对话框了。
小白:如果我只想取单元格值里的一部分字符作为工作表名,例如不要前两个字符“一只”,可以实现吗?
果果:在工作表里,这类取单元格一部分字符的问题,一般可以使用Left、Right、Mid、Len等函数嵌套来实现。VBA里的解决方法大同小异,代码如下: Sheets(i).Name=Right(Sheets(i).Cells(1,2),Len(Sheets(i).Cells(1,2))-2)
最终完整代码: Public Sub果果() On Error Resume Next For i=1 To Sheets.Count Sheets(i).Name=Right(Sheets(i).Cells(1,2),Len(Sheets(i).Cells(1,2))-2) Next End Sub
下面这张图片,是大家总结的结果: