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

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

区别如下:

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

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

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

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

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-09-05
比如你复制第一行,又选择了第二行,录制宏完毕,这时候你按快捷键或者执行宏想复制第二行到对应的地方,这时候就得用相对引用了,就是你录制宏的时候跳出来的那个小界面里,有一个似乎是格子状的地方,你把光标停上去会显示相对引用,你就点一下就可以啦,然后做你的宏操作去。
===============================================================
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里,可以解决任意区域的字体颜色,至于你想把它设置成什么形式,你可以自己录制一个宏,看一下代码怎么改就行了。本回答被提问者采纳
第2个回答  2009-09-05
宏中也有这种说法的吗?第一次听说。你的意思是不是这样?绝对引用,即常量,比如cells(1,1) range("a1") 之类。相对引用,即变量,比如 cells(i,j) range("a"& i) 之类
=================================
如上,就用变量 activcell 啊之类的用上,没有具体事例,不好说。
第3个回答  2017-02-10
打开Excel表格之后,点击创建宏,都会弹出一个窗口“unable to record"。点击确定之后,就算自己创了一个宏也没办法运行,就会显示”Invalid character
相似回答