有关excel中宏的相对引用与绝对引用的区别

来源:百度知道 编辑:UC知道 时间:2024/06/21 03:37:24
我每次做宏的时候,都区分不了,不知道是怎么回事,请各位高手指点指点.
在excel中,我做的宏,都是选中那个位置做出来之后,在其他文档中也就只有这个位置可以使用,但是我想的是,做完之后,我任意选择单元格也可以使用.谢谢

比如你复制第一行,又选择了第二行,录制宏完毕,这时候你按快捷键或者执行宏想复制第二行到对应的地方,这时候就得用相对引用了,就是你录制宏的时候跳出来的那个小界面里,有一个似乎是格子状的地方,你把光标停上去会显示相对引用,你就点一下就可以啦,然后做你的宏操作去。
===============================================================
Private Sub Worksheet_BeforerightClick(ByVal Target As Excel.Range, Cancel As Boolean)
Call test
End Sub

Sub test()

Selection.Font.ColorIndex = 3
End Sub
将这段代码复制到vba里,可以解决任意区域的字体颜色,至于你想把它设置成什么形式,你可以自己录制一个宏,看一下代码怎么改就行了。

区别如下:

  1. 绝对引用前加一个$,相对引用前没有这个符号。

  2. excel中有三种引用:相对、绝对、混合。相对引用比如a1,绝对引用如$a$1,混合引用如$a1或者a$1.$表示跟在后面的内容保持不变。

  3. 相对引用 :假如在c1中输入公式=a1*b1,那么将此公式往下填充。到了c2单元格内,此公式就会变成=a2*b2了。就是单元格变化了。

  4. 绝对引用:假如要想将一列的数值都乘以同一个单元格的内容。那就用这样的格式。比如a列为数量。要乘以B1单元格内的单价。那在c1单元格内输入=a1*$b$1 这样,公式下拉后会变成=a2*$b$1,=a3*$b$1,但始终是乘b1,这个不会变化的。

  5. 混合引用就是有一个可以变化,另外一个不变化。比如b1内有一个公式=$a1,说明列是不变的。那么如果将此公式横向拉,此公式内容是不会变化的。比如b1内有一个公式=a$1,说明行是不变的。那么如果将此公式纵向拉,此公式内容是不会变化的。

宏中也有这种说法的