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

求可将已有工作表重命名为电子表格名称的脚本

将工作表重命名为电子表格名称的脚本方案

谷歌表格(Google Sheets)脚本

如果你用的是谷歌表格,可以用以下Google Apps Script实现需求:

方案1:重命名指定工作表

比如要把名为Sheet1的工作表改成当前电子表格的名称:

function renameSheetToSpreadsheetName() {
  // 获取当前电子表格
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  // 获取电子表格名称
  const ssName = ss.getName();
  // 替换掉工作表名称不允许的特殊字符(/ \ ? * [ ])
  const validSheetName = ssName.replace(/[\/\\\?\*\[\]]/g, "");
  // 指定要重命名的工作表,也可以用索引ss.getSheets()[0]取第一个工作表
  const targetSheet = ss.getSheetByName("Sheet1");
  
  if (targetSheet) {
    targetSheet.setName(validSheetName);
    SpreadsheetApp.getUi().alert("工作表重命名完成!");
  } else {
    SpreadsheetApp.getUi().alert("未找到指定的工作表!");
  }
}

方案2:重命名所有工作表

如果要把当前电子表格里的所有工作表都改成电子表格名称(自动加序号避免重名):

function renameAllSheetsToSpreadsheetName() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const ssName = ss.getName();
  const validSheetName = ssName.replace(/[\/\\\?\*\[\]]/g, "");
  const sheets = ss.getSheets();
  
  sheets.forEach((sheet, index) => {
    const newName = sheets.length > 1 ? `${validSheetName}_${index + 1}` : validSheetName;
    sheet.setName(newName);
  });
  
  SpreadsheetApp.getUi().alert("所有工作表重命名完成!");
}

使用方法:打开谷歌表格,点击顶部菜单栏「工具」→「脚本编辑器」,粘贴对应代码,点击运行按钮,首次运行需要授权权限,按照提示操作即可。


Excel(VBA)脚本

如果是Excel,用VBA脚本实现:

方案1:重命名指定工作表

把Sheet1改成当前工作簿的名称:

Sub RenameSheetToWorkbookName()
    Dim wb As Workbook
    Dim targetSheet As Worksheet
    Dim wbName As String
    
    Set wb = ThisWorkbook
    wbName = wb.Name
    ' 去掉文件扩展名(.xlsx/.xls等)
    wbName = Left(wbName, InStrRev(wbName, ".") - 1)
    
    On Error Resume Next
    Set targetSheet = wb.Worksheets("Sheet1")
    On Error GoTo 0
    
    If Not targetSheet Is Nothing Then
        ' 替换Excel工作表名称不允许的特殊字符(/ \ ? * : [ ])
        wbName = Replace(Replace(Replace(Replace(Replace(Replace(wbName, "/", ""), "\", ""), "?", ""), "*", ""), ":", ""), "[", ""), "]", "")
        targetSheet.Name = wbName
        MsgBox "工作表重命名完成!"
    Else
        MsgBox "未找到指定的工作表!"
    End If
End Sub

方案2:重命名所有工作表

Sub RenameAllSheetsToWorkbookName()
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim wbName As String
    Dim i As Integer
    
    Set wb = ThisWorkbook
    wbName = wb.Name
    wbName = Left(wbName, InStrRev(wbName, ".") - 1)
    wbName = Replace(Replace(Replace(Replace(Replace(Replace(wbName, "/", ""), "\", ""), "?", ""), "*", ""), ":", ""), "[", ""), "]", "")
    
    i = 1
    For Each ws In wb.Worksheets
        If wb.Worksheets.Count > 1 Then
            ws.Name = wbName & "_" & i
        Else
            ws.Name = wbName
        End If
        i = i + 1
    Next ws
    
    MsgBox "所有工作表重命名完成!"
End Sub

使用方法:打开Excel,按Alt + F11打开VBA编辑器,右键点击当前工作簿→「插入」→「模块」,粘贴代码,回到Excel界面,按Alt + F8选择对应宏运行即可。


注意事项:

  • 电子表格/工作簿名称里的特殊字符必须替换,因为工作表名称有格式限制
  • 多工作表重命名时必须加序号,避免名称重复导致报错
  • 谷歌脚本首次运行需要授权,确认权限请求后即可正常使用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 01:45:30