excel中的单元格引用有哪几种方式?
用Range可以将文本型的单元格地址转化为单元格对象引用,类似于工作表函数“INDIRECT”。它可以引用单元格、区域、整行、整列及整个工作表。
1、引用单元格
Range引用单元格的对象的方式为:单元格的列标加行号作为参数,且左右加入引号。例如:
Range(“A1”) ——表示A1单元格
Range(“C25”) ——表示C25单元格
Range(“ZZ1048576”) ——表示ZZ1048576单元格,在Excel2003中是无效的引用,因为Excel2003的最大行不超过65536行,最大列不超过IV列
Range(“A1”)本身是代表一个单元格对象,但在“MsgBox Range(“A1”)”语句中则可以获取单元格的值。事实上“MsgBox Range(“A1”)”是“MsgBox Range(“A1”).Value”的简写。
每个对象都有很多属性,同时也都有一个默认属性,而单元格的默认属性是“Value”,所以如果不明确指出属性时,那么一定是调用它的Value属性值。
Range参数中的引号必须是在半角状态下输入,否则必将产生编译错误。另一个重点是VBA中Range(“A1”)方式引用对象时是不区分相对引用和绝对引用的,不管使用Range(“A1”)、Range(“$A1”)、Range(“A$1”)还是Range(“$A$1”)都引用同一单元格,而且在循环中也不产生任何影响。所以为了简化,通常只用Range(“A1”)这种形式来引用单元格。
2、引用区域
Rang引用区域时是利用区域左上角单元格地址加冒号再加右下角单元格地址为其参数。不过参数也可以写成右下单元格地址加冒号再加左上角单元格地址,VBA会自动将其转换成左上角单元格地址加冒号再加右下角单元格地址的形式。
例如以下两种方式引用区域都可以得到相同结果:
MsgBox Range(“A2:D1”).Address
MsgBox Range(“D1: A2”).Address
以下是一些合法的区域引用:
Range(“A1:V10”) ——代表从A1到V10的矩形区域,包括220个单元格
Range(“F1:F10000”) ——代表从F1到F10000的矩形区域,包括9999个单元格
Range(“D2:ZZ10000”) ——代表从D2到ZZ10000的矩形区域,包括6989301个单元格,在Excel2003是不合法的引用方式,因为它的最大列只有IV
区域的默认属性也是Value,但是区域的Value是一个数组,包括多个对象,VBA中无法直接将其显示在屏幕上。如果利用MsgBox来显示这个属性值将得到一个运行错误。
正确的方式是逐个引用区域中单个值。通过索引号作参数来实现。例如:
Range(“D2:Z10”)(1) ——代表D2:Z10区域中第一个单元格的Value,即D2
Range(“D2:Z10”)(3) ——代表D2:Z10区域中第三个单元格的Value,即F2
Range(“D2:Z10”)(24) ——代表D2:Z10区域中第24个单元格的Value,即D3
也就是说,索引号代表区域中从左到右、从上到下的序号,它是区域左上角单元格的参照进行相对引用。
如果索引号为小数时,VBA会自动进行四舍五入。例如:
MsgBOX Range(“D3:E7”)(1.5).Address ——结果为“$E$3”,参数1.5当作2处理
MsgBOX Range(“D3:E7”)(4.4).Address ——结果为“$E$4”,参数4.4当作4处理
事实上,索引号可以使用两个参数,第一参数表示行的索引,第二参数表示列的索引。那么参数“(4,5)”就可以引用区域中第四行第五列的单元格,它以区域左上角单元格为参照,而非以工作表中A1单元格为参照。
例如以下的引用:
MsgBOX Range(“D3:F7”)(1,3).Address ——结果为“$F$3”,表示D3:F7区域第一行第三列
MsgBOX Range(“D3:F7”)(4,2).Address ——结果为“$E$6”,表示D3:F7区域第四行第二列
区域的参数还可以使用零和负数,甚至大于区域单元格个数以及小于零,同样是合法的引用。当行索引参数为零时,则向区域中左上角单元格向上偏移一个单位;当列参数为零时,则向区域中左上角单元格向左偏移一个单位;如果参数是负数,在继续追加偏移量。例如:
MsgBOX Range(“D3:F7”)(0,0).Address ——结果为“$C$2”,即D3向左及向上偏移一个单位
MsgBOX Range(“D3:F7”)(-1,-2).Address ——结果为“$A$1”,即D3向上偏移两个单位再向左偏移三个单位
MsgBOX Range(“D3:F7”)(9,4).Address ——结果为“$G$11”,即D3向下偏移九个单位再向右偏移四个单位。虽然其行数与列数都已超过区域的大小,仍然可以正确的引用单元格
Range的参数也支持表达式,即字符或者数值运算结果。例如:
Range(“F”&3+2) ——表示引用F5单元格
Range(“F”&Range(“D5”).Value)
Range(“D”&WorksheetFunction.min([a:a])& “:G5”)
还可以使用变量作为参数,这在循环语句中极为有用。例如:
Range(“D”&i) ——表示列标为D,行号为变量i的值的单元格引用
3、引用多区域
如果作参数是使用多个区域地址,且用半角逗号分隔,那么Range也可以引用多个区域。
例如以下引用方式:
Range(“D3,F7”) ——表示D3和F7两个区域,包括2个单元格
Range(“D3:F4,G10”) ——表示D3:F4和G10两个区域,包括7个单元格
Range(“A1,B3:F4,Z1:ZB2”) ——表示A1、B3:F4和Z1:ZB2三个区域,包括1317个单元格
此方式引用单元格有一个限制,参数的长度不能超过256个字符,否则将会产生运行时错误。
4、引用整行、整列
利用“行号:行号”作为参数时产生对整行的引用,同理利用“列标:列标”作为参数时可产生对整列的引用,如果两个行号或者列标不一致时,可以引用多行或者多列。
以下是一些合法的引用:
Range(“2:2”) ——表示引用第二行
Range(“2:10”) ——表示引用第二到第十行
Range(“D:d”) ——表示引用第D列,列标不区分大小写
Range(“D:Z”) ——表示引用从D列开始到Z列结束的区域
Range(“D:A”) ——表示引用从A列到D列,顺序不一致时,VBA会自动转换成升序格式
参数中的冒号可以用半角也可以用全角冒号,VBA会将其全角冒号转成半角冒号。但是引用却只能使用半角,否则将产生编译错误。
整行、整行引用对象除了Range方法外,还可以用Rows和Columns来完成。其中Rows引用行,以阿拉伯数字作为参数;Columns引用列,既可用阿拉伯数字做参数,也可用列标做参数。
Rows(2) ——表示引用第二行
Rows(“2”) ——同样表示引用第二行
Rows(“2:2”) ——仍然表示引用第二行
Rows(“2:4”) ——表示引用第二到第四行
Columns(2) ——表示引用第二列,相当于Range(“B:B”)
Columns(“B”) ——同样表示引用第二列
Columns(“B:B”) ——仍然表示引用第二列
Columns(“B:D”) ——表示引用B到D列
如果不带参数,那Rows代表整个工作表所有行。而Columns代表整个工作表所有列。
5、Range嵌套使用
除上面的四中方法外,Range还支持利用单元格作为参数,其具体语法为:
Range(Cell1,Cell2)
其中Cell1和Cell2是必选参数。Cell1用于指定目标区域的左上角单元格,Cell2用于指定目标区域右下角单元格。如果使用一个或者三个单元格将产生编译错误。
例如以下引用方式全是合法的区域引用:
Range(Range(“A1”),Range(“D2”) ——表示引用A1:D2区域,包含8个单元格
Range(Range(“A4”),Range(“A100”) ——表示引用A4:A100区域,包含97个单元格
当然也有一些特殊的应用,当参数并非单个单元格,而是区域是,取两个区域所跨越的最大范围。例如:
Range(Range(“A1:A3”),Range(“D2”)) ——表示引用A1:D3区域,而非A1:D2。VBA会从两个区域最左上角的单元格作为新的区域的参照起点,再取两个区域所跨越的最大行作为新的区域的行数,取两个区域跨越的最大列作为新区域的列数。
Range(Range(“B2:A3”),Range(“A3:D10”)) ——表示引用A2:D10区域。
要理解这个算法,可以分别将B2:A3和A3:D10两段字符配对,然后从前两个字符中取最小值,再从后两对字符中取最大值,再加上冒号组合成一个新的区域地址。例如“B2:A3”和“A3:D10”,先从第一对字符B和A中取出最小值A,然后从第二对字符2和3中取出最小值2,再从第三对字符A和D中取出最大值D,最后从3和10中取最大值10,将这四个字符与冒号串联起来即为“A2:D10”。
怎么在EXCEL表格中已有的数字前统一加一串数字?
xcel统一加数字前缀的方法 EXCEL表单元格中批量添加前缀数字,可在“设置单元格格式”中批量统一添加前缀数字。方法步骤如下:1、打开需要操作的EXCEL表格,选中需要添加前缀数字的单元格,通过键盘“Ctrl+1”进入“设置单元格格式”。2、在数字标签页中找到并点击“自定义”,然后在右侧类型下面的文本输入...
如何鎒xcel中某一个表格
工作表是一个矩形结构,所有列中的行数是相同的,单独一列是不能下移的。 但在有数据的表格内是可以实现您的要求的。 点击选择这一下的第一个单元格(如A1); 按住shift键点击这一列数据的最后一个单元格(如A10); 按组合键ctrl+X,或用菜单...
Excel表格 如何使同在一个单元格内的文字与数字分离
材料\/工具:Excel2010 1、下图所示数字与姓名在同一单元格中,下面我们来将它们他离出来。2、首先选中需要分离的区域,选择“数据”菜单下的“分列”。3、弹出“文本分列向导”对话框,选择“固定宽度”点击“下一步”。4、在数字与姓名之间单击鼠标,建立分列线,点击“下一步”。5、在这一步中,...
EXCEL中如何让一个单元格内的数值根据另一个单元格的中文的改变而改变...
XCEL中如何让一个单元格内的数值根据另一个单元格的中文的改变而改变的方法如下:1、公式法,即在这个单元格里写好公式,比如用if这样的判断语句,或是其它的能完成要求的函数公式。2、编程法,在Private Sub Worksheet_change(ByVal Target As Range)中写好代码,当有输入的内容时,就会执行这段代码...
EXCEL表格一个单元格同时链接两个文件
XCEL表格一个单元格一次只能设置一个链接,如果设置第二个则会自动覆盖前面的设置。解决方法:可以把相邻的两个单元分别设置成所需的2个不同链接。操作方法:1、首先点击其中一个单元格并选择工具栏中的“插入”选项。2、然后点击“插入”选项卡中的“链接”图标。3、进入选择需要链接的对象的对话框,...
xcel表格中加入函数的单元格中怎样加密码? 用意是文档共享后其他人只...
1、全选工作表--右键--设置单元格格式--保护--锁定(取消勾选)2、ctrl+g --定位 --选择公式--右键--设置单元格格式--保护--锁定(勾选锁定)3、保持选中状态--设置允许编辑区域--新建--设定密码--ok 4、保护工作表--设定密码 这样的话,未保护的单元格都可以编辑,保护的公式单元格不可...
在xcel2003中,需要求出单元格a5 a6 a7和a10四个单元格的和,请分别用...
以下三条公式任选一条都可以达到题目的要求:=A5+A6+A7+A10 =SUM(A5:A7,A10)=SUM(A5,A6,A7,A10)
如何设置xcel同一个单元格中的几个数字加特定公式计算,另一个单元格...
只需在A1中前面不输入=号,即输入500×500×30×0.00000785,在要显示计算结果的单元格中如B1中输入=500×500×30×0.00000785即可。
在EXCEL表格里,怎么提取某一单元格中的一部分文字?
xcel表格中文字和数字如何分离提取?这样做再也不用一个个敲了
在EXCEL表格里,怎么提取某一单元格中的一部分文字
xcel表格中文字和数字如何分离提取?这样做再也不用一个个敲了
福珠欧车: 有三种: 1、绝对引用: 2、相对引用; 3、混合引用.
宣化区14741931515: excel中单元格的引用方式有哪几种 - ?
福珠欧车: 1、相对引用:公式中的相对单元格引用是基于包含公式和单元格引用的单元格的相对位置.如果公式所在单元格的位置改变,引用也随之改变.如果多行或多列地复制公式,引用会自动调整.2、绝对引用:单元格中的绝对单元格引用总是在指定位置引用单元格.如果公式所在单元格的位光讨置改变,绝对引用的单元格始终保持不变.如果多行或多列地复制公式,绝对引用将不作调整.3、混合引用:混合引用鉴轿具有绝对列和相对行,或是绝对行和相对列.绝对引用列采用 $A1、$B1 等形式.绝对引用行采用 A$1、B$1 等形式.如果公式所在攀拒薪单元格的位置改变,则相对引用改变,而绝对引用不变.
宣化区14741931515: excel单元格的引用有哪几种方式 - ?
福珠欧车: EXCEL公式中单元格地址的引用包括相对引用、绝对引用和混合引用三种.三种方式切换的快捷键为最上一排功能键F4(部分新出的笔记本电脑要按Fn+F4). 1、相对引用 公式中的相对单元格引用(例如 A1)是基于包含公式和单元格引用的...
宣化区14741931515: Excel对单元格的引用有哪几种方式 - ?
福珠欧车: 三种, 相对引用,如:A1,B3等等.此时公式复制到另一个位置时行和列都要变. 绝对引用,如:$A$1,$B$3等等.此时公式复制到另一个位置时行和列都不变. 混合引用,如:$A1,B$3等等.$A1此时公式复制到另一个位置时行要变,列不变.B$3此时公式复制到另一个位置时行不变,列要变.
宣化区14741931515: Excel中单元格地址的引用形式有哪几种? - ?
福珠欧车: 在excel中单元格地址引用有四种. 1、A1是相对引用:在下拉拖动引用时,会变成引用A2,A3,A4. 2、$A1是绝对引用列,是混合引用:当下拉复制时想保证引用的只是A1单元格时,A1就要加$符号,成A$1. 3、A$1是绝对引用行,是混合引用:当右拉复制时想保证引用的只是A1单元格时,A1就要加$符号,成$A1. 4、$A$1是绝对引用行和列,是绝对引用:当在下拉和右拉复制时想保证引用的只是A1单元格时,A1就要加$符号,成$A$1.
宣化区14741931515: 在Excel中,单元格引用可以分为( )、( )和( )三种方式. - ?
福珠欧车: 在Excel中,单元格引用可以分为( 相对引用)、(绝对引用 )和( 混合引用)三种方式.
宣化区14741931515: excel单元格的引用有哪几种方式?
福珠欧车: 1、绝对引用,通过在行号或列号前加"$"符号实现.无论包含该绝对引用的公式被复制到哪个位置,引用的地址都不会变更,还是最初的那个地址. 2、相对引用,行号或列号前没有$"符号.如果包含该相对引用的公式被复制到其他位置,该相对引用的地址会随着新单元格与老单元格的位移量而改变,如:原来在A1单元格包含相对引用公式,现在该公式被复制到B3单元格,行列地址都为相对引用,则相对引用的地址变为原地址向右位移1列,向下位移两行的新地址. 相对引用和绝对引用,可以选中相应地址,按F4进行切换.
宣化区14741931515: 简述Excel中单元格引用的几种形式(包括不同的工作表和不同的工作簿). - ?
福珠欧车: 绝对引用:单元格($A$1),区域($A$1:$A$100)相对引用:单元格(A1),区域(A1:A100)半绝对半相对引用:单元格($A1),区域($A1:$A100);单元格(A$1),区域(A$1:A$100)……
宣化区14741931515: 简述Excel中单元格引用的几种形式 - ?
福珠欧车: 引用有相对引用、绝对引用、混合引用 相对引用就是如A1,B15等,可以随着公式的复制改变引用位置. 绝对引用就是如$A$1,$H$5等,即使公式复制到其它地方,引用单元格也不发生变化. 混合引用有两种 一种是绝对行号,相对列标,就是...