就任性!批量更改工作表名称

 时间:2026-02-12 21:10:45

1、首先,我们把该工作簿现有工作表的名称提取出来,放置在表格的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列    NextEnd Sub

2、我们把新的工作表名称用函数计算出来,放在表格的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    NextEnd Sub

就任性!批量更改工作表名称

  • Excel中如何统计符合多个条件的单元格数目
  • Excel函数详解:[137]NA函数用法
  • 使用Excel VBA对单元格背景色进行条件设置
  • excel vba如何识别相同内容单元格并求和计算
  • Excel使用INDEX函数数组形式引用指定区域的内容
  • 热门搜索
    1月份去哪里旅游好 聊城旅游度假区 旅游卫视在线直播 疯狂旅游团小品高清 360旅游网 台南旅游攻略 陕西旅游政务网 旅游拍照姿势大全 江西婺源旅游价格 防城港金滩旅游攻略