分步操作:使用宏重命名包含单元格内容的 Excel 工作表

本文由 Microsoft MVP Raddini Rahayu 撰写。

情况

以下是每周销售活动报告。 例如,本例中有 15 个人。 分配了 Nancy(管理员报表)将每个销售数据汇总到一个文件中,其中所有销售都在每个工作表上分隔。 为了轻松排列数据,每个工作表 Nancy 给出的名称与该工作表上的销售名称匹配。 起初,南希对此感到自在,但随着数据越来越多,要求快速处理,南希不知所措。 为了克服这一问题,Nancy 希望根据每个工作表上的销售名称自动更改名称表,而无需手动重命名。

每周销售活动报告的屏幕截图。

解决方案

克服南希问题的最佳解决方案是使用宏。 此宏专为该文件中的每个工作表设计,而不考虑工作表的数量。 每个工作表的名称将根据每个工作表上同一位置确定的销售名称而更改。

如何执行

第一步

  • 设计报表格式并指定将放置销售名称的单元格位置。 在本例中,位置位于单元格 J2。 此报表格式应在每张工作表上相同。

  • 将工作表名称保留为默认名称 (Sheet1、Sheet2、Sheet3 等) 。

    用于将工作表名称保留在默认名称上的屏幕截图。

最后一步

宏编码步骤

知道将放置销售名称的单元格位置后,现在可以继续下一步宏编码。

  1. 在“ 开发工具 ”选项卡上,选择“代码”类别中的“ Visual Basic ”,或按键盘上的“Alt+F11”组合键,以显示 Visual Basic 窗口。

    在“开发工具”选项卡上的“代码”类别中选择“Visual Basic”的屏幕截图。

  2. 在项目任务窗格中,单击 (工作簿名称) ,然后在 “插入 ”菜单中选择“ 模块 ”,然后编写以下脚本:

    Sub RenameSheet()
    
    Dim rs As Worksheet
    
    For Each rs In Sheets
    rs.Name = rs.Range("B5")
    Next rs
    
    End Sub
    

    屏幕截图显示了在 Sales Report.xlsx 工作簿中编写脚本的步骤。

  3. 如果没有调试,请按键盘上的 F5 键关闭 Visual Basic 窗口并返回到 Excel。 如果已调试,检查备份脚本。

  4. 返回到 Excel 并查看发生的情况,如果代码正确,则现在会根据每个工作表上的现有销售名称重命名每个工作表的名称。

    屏幕截图显示每个工作表的名称在每张工作表上的现有销售名称之后重命名。

就是这样。 希望有用。

第三方信息免责声明

本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 Microsoft 不对这些产品的性能或可靠性提供任何明示或暗示性担保。