Excel Macros 简明教程
Excel Macros - Absolute References
Excel 宏可以使用绝对引用或相对引用两种方式记录。使用绝对引用记录的宏将记录的步骤精确地放到其记录的单元格中,而不考虑活动单元格。另一方面,使用相对引用记录的宏可以在工作表的不同部分执行记录的任务。
您将在本章学习关于宏记录的绝对引用。您将在下一章学习关于相对引用。
假设您必须在每天结束时提交一份关于团队工作情况的报告,格式如下 −
现在,报告应放在单元格 B2 中,并应采用给定的格式。
填好的报告样例将如下所示 −
除了以下单元格中的数据之外,您为项目生成的每个报告的信息都是常量。
-
C3 – 日期报告。
-
C13 – 今天完成的任务数。
-
C14 – 已完成任务总数。
-
C15 – 完成工作百分比。
在这些单元格中,您还可以在 C3(日期报告)中放置 Excel 函数 = TODAY () ,这样可以在不需要您干预的情况下放置报告日期。此外,在单元格 C15 中,您可以输入公式 C14/C12,并将单元格 C15 的格式设置为百分比,让 Excel 为您计算完成工作百分比。
这样,只需要 C13 和 C14 这两个单元格由您每天填入。因此,每次必须创建报告时,理想情况下其余单元格都应该填好信息。这将为您节省时间,您只需几分钟就能完成例行的报告活动。
现在,假设您必须为三个项目发送此类报告。您可以想象这样可以为您节省多少时间,让您投入更具挑战性的一天工作,当然也可以从管理部门获得赞誉。
您可以通过为每个项目录制一个宏来实现此目的,并在日常工作中运行这些宏,从而在短短几分钟内生成所需的报告。但是,每次运行宏时,报告都应如上所述显示在工作表上,而不考虑活动单元格。为此,您必须使用绝对引用。
Ensuring Absolute References
要使用绝对引用录制宏,您必须确保从需要开始执行步骤的单元格开始录制宏。这意味着,对于上一节中给出的示例,您需要执行以下操作 −
-
Start recording the macro.
-
Create a new worksheet.
-
在新工作表中单击 B2 之外的任何单元格。
-
单击单元格 B2。
-
Continue recording the macro.
这样,每次运行宏时,都会为每个新报告创建一个新工作表,并将报告格式放置在单元格 B2 中。
Note − 以上给出的前三个步骤至关重要。
-
如果不创建一个新工作表,在运行宏时,你记录的所有内容都会放到同一工作表中的同一位置。这不是你想要的结果。你需要让每份报告都位于不同的工作表中。
-
如果没有在录制的开始部分点击其他单元格,即使活动单元格是 B2,Excel 也会将记录的步骤放入活动单元格。当运行宏时,它会根据活动单元格将记录的报告格式放入工作表的任意部分。通过明确点击 B2 以外的其他单元格,再点击 B2,你是在告诉记录器始终将宏步骤放入 B2 单元格中。
Recording a Macro
你可以使用功能区中的“视图”选项卡下的 Record Macro 命令开始录制宏→宏。你还可以单击 Excel 任务栏左侧的 Start Recording Macro 按钮。
-
开始录制宏。会出现 Record Macro 对话框。
-
提供一个有意义的名称,将宏识别为某个特定项目的报告。
-
在 Store macro in 下选择此工作簿,因为你只会使用此特定工作簿生成报告。
-
描述你的宏,然后单击“确定”。
你的宏开始录制。
-
创建一个新工作表。这将确保你的新报告位于新工作表中。
-
在新工作表中单击 B2 之外的任何单元格。
-
点击单元格 B2。这将确保宏始终将你记录的步骤放入 B2 中。
-
创建报告的格式。
-
填写项目报告的静态信息。
-
在 C3 中输入 = TODAY (),在 C15 单元格中输入 = C14/C12。
-
设置带有日期的单元格。
停止录制宏。
你可以使用“视图”选项卡下的功能区中的 Stop Recording 命令或者单击 Excel 任务栏左侧的“停止录制宏”按钮来停止录制宏→宏。
你的项目报告宏已准备就绪。将工作簿保存为启用宏的工作簿(扩展名为 .xlsm)。