You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用VBA将Excel工作表名从08082023改为08-08-2023格式?

解决Excel工作表标签日期格式转换问题(从08082023到08-08-2023)

方法一:无需VBA的半手动批量修改

如果工作表数量不多,或者不想接触代码,可采用此方法:

  • 第一步:将所有需要修改的工作表名称整理到空白工作表的A列(手动输入或复制现有表名均可)。
  • 第二步:生成合法格式的新名称:
    假设A1单元格内容为08082023,在B1单元格输入以下公式:
    =LEFT(A1,2)&"-"&MID(A1,3,2)&"-"&RIGHT(A1,4)
    
    回车后即可得到08-08-2023,下拉公式批量生成所有转换后的名称。
  • 第三步:逐个重命名工作表:右键点击目标工作表标签→选择「重命名」,粘贴B列对应的新名称后回车确认。

方法二:一键批量修改的VBA脚本(无需懂代码)

若工作表数量较多,用脚本可一次性完成修改:

  1. 打开目标Excel文件,按下Alt+F11打开VBA编辑器。
  2. 在左侧「工程资源管理器」中,右键点击当前工作簿名称→「插入」→「模块」。
  3. 将以下代码复制粘贴到弹出的代码窗口中:
Sub RenameDateTabs()
    Dim ws As Worksheet
    Dim oldName As String
    Dim newName As String
    
    For Each ws In ThisWorkbook.Worksheets
        oldName = ws.Name
        ' 仅处理8位纯数字的表名(匹配日期格式)
        If Len(oldName) = 8 And IsNumeric(oldName) Then
            newName = Left(oldName, 2) & "-" & Mid(oldName, 3, 2) & "-" & Right(oldName, 4)
            ' 跳过非法/重复名称,避免报错
            On Error Resume Next
            ws.Name = newName
            On Error GoTo 0
        End If
    Next ws
End Sub
  1. 按下F5运行脚本,所有符合条件的工作表标签会自动转换为DD-MM-YYYY格式。

注意事项

  • 运行脚本前建议备份Excel文件,防止意外情况。
  • 如果原始日期为YYYYMMDD格式(如20230808),将代码中的转换行修改为:
    newName = Left(oldName, 4) & "-" & Mid(oldName, 5, 2) & "-" & Right(oldName, 2)
    

内容的提问来源于stack exchange,提问作者Avocado

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 13:55:09