视频: 01 利用EXCEL篩選功能與錄製巨集製作查詢系統 2024
Excel的默认记录模式是绝对参考。当公式中的单元格引用是 绝对引用 时,公式粘贴到新位置时不会自动调整。
理解这个概念如何适用于宏的最好方法就是尝试一下。记录一个宏计数工作表中的行。 (见图例子。)
<!包含两个表格的预制工作表。您可以在网上找到这里使用的样本数据集。按照以下步骤记录宏:
确保单元格A1被选中。
-
在开发人员选项卡上,选择录制宏。
-
命名宏AddTotal。
-
选择此工作簿作为保存位置。点击OK开始录制。
-
-
此时,Excel正在记录您的操作。在Excel正在录制时,选择单元格A16并在单元格中键入Total。
选择列D(D16)中的第一个空单元格,并键入= COUNTA(D2:D15)。该公式给出了D列底部的分支号的计数。由于分支号被存储为文本,所以使用COUNTA函数。
-
单击开发工具栏上的停止录制停止录制宏。
-
您的总计工作表。
-
格式化的工作表应该看起来像这里显示的东西。
要查看您的宏,请删除刚刚添加的Total行,然后按照以下步骤播放宏: 在Developer选项卡上,选择Macros。
查找并选择您刚录制的AddTotal宏。点击运行按钮。如果一切顺利的话,宏将你的动作回放到一个T,并给你的表。现在是这个东西。无论您尝试多么努力,都无法使AddTotal宏在第二个表上工作。为什么?因为你把它记录成一个绝对的宏。
要理解这意味着什么,请通过选择“开发工具”选项卡上的“宏”来检查底层代码。出现宏对话框。 Excel宏 - 对话框。
-
选择AddTotal宏并单击编辑按钮。 Visual Basic编辑器打开并显示您录制宏时写入的代码:
-
Sub AddTotal()Range(“A16”)。选择ActiveCell。 FormulaR1C1 =“总计”范围(“D16”)。选择ActiveCell。 FormulaR1C1 =“= COUNTA(R [-14] C:R [-1] C)”End Sub
-
请特别注意选择范围A16和范围D16的两行代码。由于宏是以绝对参考模式记录的,因此Excel会将您的范围选择解释为绝对单元格参考。换句话说,不管你的光标在你的工作簿中,当你运行录制的宏时,Excel将选择单元格A16,然后单元格D16。在下一节中,您将看看在相对参考模式下记录的宏是什么样的。