📅  最后修改于: 2020-12-01 05:35:09             🧑  作者: Mango
可以使用绝对引用或相对引用来记录Excel宏。与绝对引用一起记录的宏将记录的步骤准确地放置在记录其的单元中,而与活动单元无关。另一方面,使用相对引用记录的宏可以在工作表的不同部分执行记录的任务。
您将在本章中了解有关宏的绝对引用。您将在下一章中了解相关参考。
假设您必须在每天结束时以以下格式提交有关团队工作的报告-
现在,报告应放置在单元格B2中,并应采用给定的格式。
报告中填写的样本如下所示-
除以下单元格中的数据外,对于您为项目生成的每个报告,信息都是恒定的。
其中,在C3(日期报告)中,您可以放置Excel函数= TODAY()来放置报告日期,而无需您进行干预。此外,在单元格C15中,您可以具有公式C14 / C12并将单元格C15格式化为百分比,以具有Excel为您计算的工作完成百分比。
这样您只剩下两个单元格-C13和C14,您每天都需要填写它们。因此,每次创建报表时,最好具有其余单元的信息。这样可以为您节省时间,并且您可以在短短几分钟内完成日常的报告活动。
现在,假设您必须为三个项目发送此类报告。您可以想像您可以节省时间并承担一天中更具挑战性的工作,并且当然可以得到管理层的赞誉。
您可以通过记录每个项目的宏并每天运行它们以在短短几分钟内生成所需的报告来实现此目的。但是,每次运行该宏时,该报告应出现在上面给出的工作表上,而与活动单元格无关。为此,您必须使用绝对引用。
若要记录具有绝对引用的宏,必须确保从要开始执行步骤的单元格开始记录该宏。这意味着,在上一节中给出的示例中,您需要执行以下操作-
这将为每个新报告创建一个新的工作表,并在每次运行宏时将报告格式放置在单元格B2中。
注意-上面给出的前三个步骤很重要。
如果不创建新的工作表,则在运行宏时,它将在同一工作表上记录的所有内容都放在同一位置。这不是您想要的。您需要将每个报告放在不同的工作表上。
如果在记录开始时未单击其他单元格,则即使活动单元格为B2,Excel也会将记录的步骤放置在活动单元格中。当您运行宏时,它将基于活动单元格将记录的报告格式放在工作表的任何部分。通过显式单击B2以外的其他单元格,然后再单击B2单元格,您就是在告诉记录器始终将宏步放在B2单元格中。
您可以使用功能区上“查看”选项卡下的“录制宏”命令→“宏”开始录制宏。您也可以单击Excel任务栏左侧的开始记录宏按钮。
开始录制宏。出现录制宏对话框。
提供有意义的名称,以将宏标识为特定项目的报告。
在中的“存储宏”下选择“此工作簿”,因为您将仅从该特定工作簿生成报告。
对宏进行描述,然后单击“确定”。
您的宏开始记录。
创建一个新的工作表。这样可以确保您的新报告将在新的工作表上。
单击新工作表中B2以外的任何单元格。
单击单元格B2。这样可以确保宏始终将您记录的步骤放在B2中。
创建报告的格式。
填写项目报告的静态信息。
将= TODAY()放在C3中,将= C14 / C12放在单元格C15中。
用日期格式化单元格。
停止录制宏。
您可以使用功能区上“查看”选项卡→“宏”下的“停止记录”命令,或单击Excel任务栏左侧的“停止记录宏”按钮来停止记录宏。
您的项目报告宏已准备就绪。将工作簿另存为启用了宏的工作簿(扩展名为.xlsm)。
您只需运行宏即可在几秒钟内生成任意数量的报告。
将在您的工作簿中创建一个新的工作表,并在单元格B2中创建报告模板。