录制宏时,使用相对引用和不使用有什么区别?什么时候使用,什么时候不使用相对引用?

首先,我们先认识使用相对引用命令。该命令位于【开发工具】选项卡、【代码】命令组,在录制宏命令下方。该命令具有以下两种状态:

录制宏时,根据实际情况,工作表单元格区域将会出现以下几种位置:
绝对引用和相对引用区别将体现在初始位置和过程位置的记录方式上。
首先,两者的相同点是,针对初始位置,两者的初始位置是相同的。Excel 只记录一个「选中的区域」的参数,不会记录选中的单元格地址信息。
两者的不同点就在于,两者对过程位置的记录方式不同。
为了将两者的区别更好地体现出来,我们录制两个几乎相同的宏,一个未开启相对引用,一个开启相对引用。
宏的内容是:初始位置是 B3 单元格,开始录制宏,下一步选中旁边的 C3 单元格,录入 C3,Ctrl+Enter 结束如输入,最后点击结束录制。
第一个,未开启相对引用,即使用绝对引用录制,宏名称设为绝对引用宏。

第二个,开启相对引用录制,宏名称设为相对引用宏。

现在我们已录制好了两个宏,接下来在相同条件下运行两个宏,看看两者有什么区别。
首先,选中 B10 单元格,点击宏命令,弹出宏列表,选择「绝对引用」,执行。

可以看到,绝对引用宏运行后,在 C3 单元格录入了 C3,与初始位置 B10 没有关系。
然后,我们清除 C3 单元格的内容,相同的步骤,运行「相对引用」宏。

可以看到,这次在 C10 单元格录入了 C3,即离 C10 单元格向右偏离了一个列,与最初录制的宏的偏移距离相同。
通过以上例子可以看出来,绝对引用“只知道”绝对地址;而相对引用既知道初始位置,又知道离初始位置的偏移量。
如果你的目标单元格或单元格区域,在工作表的固定位置处,不随初始位置变化而变化,那么使用绝对引用方式。例如,在固定位置冻结窗格,这种情况,初始位置无论在哪里,冻结位置始终在固定位置。
如果你的目标单元格或单元格区域,在工作表上的位置不固定,随初始位置变化而变化,那么使用相对引用方式。
如果没有在实际中使用过两种引用方式,这篇文章读起来可能有点费力,绝对相对概念不容易理解。所以建议使用不同的方式录制多个宏,自己体会两者的不同,将有助于加深理解。