本文由 Microsoft MVP Raddini Rahayu 撰写。
情况
以下是每周销售活动报告。 例如,本例中有 15 个人。 分配了 Nancy(管理员报表)将每个销售数据汇总到一个文件中,其中所有销售都在每个工作表上分隔。 为了轻松排列数据,每个工作表 Nancy 给出的名称与该工作表上的销售名称匹配。 起初,南希对此感到自在,但随着数据越来越多,要求快速处理,南希不知所措。 为了克服这一问题,Nancy 希望根据每个工作表上的销售名称自动更改名称表,而无需手动重命名。
解决方案
克服南希问题的最佳解决方案是使用宏。 此宏专为该文件中的每个工作表设计,而不考虑工作表的数量。 每个工作表的名称将根据每个工作表上同一位置确定的销售名称而更改。
如何执行
第一步
设计报表格式并指定将放置销售名称的单元格位置。 在本例中,位置位于单元格 J2。 此报表格式应在每张工作表上相同。
将工作表名称保留为默认名称 (Sheet1、Sheet2、Sheet3 等) 。
最后一步
宏编码步骤
知道将放置销售名称的单元格位置后,现在可以继续下一步宏编码。
在“ 开发工具 ”选项卡上,选择“代码”类别中的“ Visual Basic ”,或按键盘上的“Alt+F11”组合键,以显示 Visual Basic 窗口。
在项目任务窗格中,单击 (工作簿名称) ,然后在 “插入 ”菜单中选择“ 模块 ”,然后编写以下脚本:
Sub RenameSheet() Dim rs As Worksheet For Each rs In Sheets rs.Name = rs.Range("B5") Next rs End Sub
如果没有调试,请按键盘上的 F5 键关闭 Visual Basic 窗口并返回到 Excel。 如果已调试,检查备份脚本。
返回到 Excel 并查看发生的情况,如果代码正确,则现在会根据每个工作表上的现有销售名称重命名每个工作表的名称。
就是这样。 希望有用。
第三方信息免责声明
本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 Microsoft 不对这些产品的性能或可靠性提供任何明示或暗示性担保。