excel range函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel range函数相关的知识,希望对你有一定的参考价值。
在vba中range的参数是什么.这个是指什么范围呢?Range("b" & i & ":h" & i),这个格式对吗?我在电脑没找到.
range(目标区域地址),目标区域地址就是参数。
这个函数是在循环中动态取得范围。
Range("b" & i & ":h" & i)这个格式是对的。
常用的格式就是
Range("a1", "b4").Select
Range("a2:b4").Select
扩展资料:
range是一种计算机术语,在Excel中,Range集合代表某一单元格、某一行、某一列、某一选定区域(该区域可包含一个或若干连续单元格区域),或者某一三维区域。
可用 Range(arg)(其中 arg 为区域名称)来返回代表单个单元格或单元格区域的 Range 对象。
表示单元格——range("A1")表示第一行第一列的单元格,实质上于cells(1,1)效果一样。两者在这种情况下是一样的,但是两者的关系可以这样理解,range对象是单元格对象的集合。
range对象在表示单元格的时候不可以像cells(i,j)一样range("ij")表示的,这是要注意的一点!
range对象表示连续的区域有两种表达:第一是range("起始单元格","结束单元格"),第二是range("起始单元格:结束单元格")。
对于不连续的区域,range的表达是:range("起始单元格1:结束单元格1,起始单元格2:结束单元格2")
参考资料:range函数
参考技术AExcel的VBA编程中,很常用到的是通过字符串返回Range的功能,然后进一步对Range操作,这里水文工具集介绍一个实用的VBARange函数RangeFromAddress,具体源代码如下:
上面的RangeFromAddress还引用到两个函数,具体代码如下
01.Function GetObjectParentSheet(aObject As Object) As Object
02.Dim op As Object
03.On Error Resume Next
04.
05.If aObject Is Nothing Then GoTo ErrorExit
06.Set op = aObject.Parent
07.If op Is Nothing Then GoTo ErrorExit
08.
09.If TypeOf op Is Workbook Then
10.Set GetObjectParentSheet = aObject
11.GoTo ErrorExit
12.End If
13.
14.Do Until (TypeOf op Is Worksheet) Or (TypeOfop Is Application)
15.Set op = op.Parent
16.Loop
17.
18.If TypeOf op Is Worksheet Then SetGetObjectParentSheet = op
19.
20.ErrorExit:
21.Exit Function
22.End Function
23.
24.
25.Function GetObjectParentWorkbook(aObject AsObject) As Workbook
26.Dim o As Object
27.
28.On Error GoTo ErrorHandle
29.
30.If aObject Is Nothing Then GoTo ErrorExit
31.Set o = aObject.Parent
32.
33.If TypeOf aObject Is Workbook Then
34.Set GetObjectParentWorkbook = aObject
35.GoTo ErrorExit
36.End If
37.
38.Do Until (TypeOf o Is Workbook) Or (TypeOf o Is Application)
39.Set o = o.Parent
40.Loop
41.
42.If TypeOf o Is Workbook Then SetGetObjectParentWorkbook = o
43.
44.ErrorExit:
45.Exit Function
46.
47.ErrorHandle:
48.Resume ErrorExit
49.End Function
参考技术B 这个是在循环里用的就是动态取得范围。具体的要看你的代码才知道,好好理解下吧。
它的本质就是
range("B1:H1")
range("B2:H2")
。。。。
range("Bn:Hn")
总得来说大致就是B到H列中的所有行。。。 参考技术C 格式没错
range(目标区域地址)
目标区域为文本格式
或者range(cells(2,2),cells(3,3)),常用的就是样的。本回答被提问者采纳 参考技术D 也可以用下面这种格式
RANGE("A1:B" & I & ", D1:E" & I & "")
你一定要分清这串字符串中的变量和字符
要了解双分号和&的用法
记得要在&和I中间加入空格
excel表里的函数range怎么用的
Range并不是Excel中的函数,而是VBA中VBA代码中最常用的对象,Range对象可以是某一单元格、某一单元格区域、某一行、某一列、或者是多个连续或非连续的区域组成的区域。下面一个简单的VBA程序,可以全面地理解Range对象的用法,以及与Cells的区别。
Sub RangVsCellsDemo()
Dim r
\' 1. 先看 Range 和 Cells 的定义
\' A. Range 的定义为 Class Range,表示 Range 是一个类,可以根据其所带的参数构造一个Range 对象
\' B. Cells 的定义为 Property Cells As Range,表示 Cells 是一个属性,返回一个 Range 对象,具体应
\' 用于不同对象时返回对象不同(帮助时说的明白)
\' 2. Cells主要作用在于他可以简洁的返回一个Range对象,而使用Range的构造方法相对代码比较长
\' 比如在2003里,单个的Cells就相当于Range("1:65536"),显然,用前者更简洁明了,顺便提一下,Cells后带
\' 括号的用法应是 Range 对象 Item 属性的用法,因为 Item 属性是 Range 对象的默认属性,Item省略写
\' 出来罢了
Range("1:65536")(2, 3).Select \' 选取C2单元格
Range("1:65536")(2, "d").Select \' 选取D2单元格
Range("1:65536")(256 + 5).Select \' 选取E2单元格
Cells(2, 3).Select \' 选取C2单元格
Cells(2, "d").Select \' 选取D2单元格
Cells(256 + 5).Select \' 选取E2单元格
\' 3. Cells 为属性,所以,只有定义了该属性的特定对象才能使用,并且返回特定的 Range 对象,总的来讲是返
\' 回对象的全部单元格,特别注意,这里所讲的全部并不是我们肉眼所看到的,对于有的联合区域,返回的单元格
\' 与想象的有点差别,比如 Range("A1:C5,B2:D6").Cells.Count 返回值是30,而我们肉眼看到 A1:C5 和 B2:D6
\' 两片区域的单元格个数只有22个
Set r = Cells \' 应用于 Application 对象,Application 省略
Set r = Application.Cells \' 应用于 Application 对象
Set r = Worksheets(1).Cells \' 应用于 Worksheet 对象
Set r = Range("A1:C5,B2:D6").Cells \' 应用于 Range 对象,这个就我个人而言,找不出很好的应用
\' 4. Range为类类型,可以通过不同的方法构造Range对象
\' a. 用区域名称, 用 A1 样式引用的宏语言
Set r = Range("A1:B2") \' 区域操作符(冒号)
Set r = Range("A1:C5 B2:D6") \' 相交区域操作符(空格)
Set r = Range("A1:C5,B2:D6") \' 合并区域操作符(逗号)
\' Set r = Range("UserRng") \' 自定义名称,要先建立自定义名称UserRng
\' b. 区域左上角和右下角的单元格
Set r = Range(Range("A1"), Range("IV65536"))
End Sub 参考技术A
range(目标区域地址),目标区域地址就是参数。
这个函数是在循环中动态取得范围。
Range("b" & i & ":h" & i)这个格式是对的。
常用的格式就是
Range("a1", "b4").Select
Range("a2:b4").Select
扩展资料:
range是一种计算机术语,在Excel中,Range集合代表某一单元格、某一行、某一列、某一选定区域(该区域可包含一个或若干连续单元格区域),或者某一三维区域。
可用 Range(arg)(其中 arg 为区域名称)来返回代表单个单元格或单元格区域的 Range 对象。
表示单元格——range("A1")表示第一行第一列的单元格,实质上于cells(1,1)效果一样。两者在这种情况下是一样的,但是两者的关系可以这样理解,range对象是单元格对象的集合。
range对象在表示单元格的时候不可以像cells(i,j)一样range("ij")表示的,这是要注意的一点!
range对象表示连续的区域有两种表达:第一是range("起始单元格","结束单元格"),第二是range("起始单元格:结束单元格")。
对于不连续的区域,range的表达是:range("起始单元格1:结束单元格1,起始单元格2:结束单元格2")
参考资料:range函数
参考技术B 使用函数Vlookup()应该可以解决你的问题,比如:甲表里面有如下字段:
工号 姓名 部门 生日
123 张三 资讯 8/3
乙表里有如下字段:
工号 姓名 年龄
123 张三 23
那么就可以使用Vlookup()函数关联两个表的数据,关联依据最好选用“工号”
比如,在乙表中对应甲表中的生日:
=VLOOKUP(A:A,甲!A:D,4,0) ,其中,
1、“A:A”,表示乙表中与甲表关联的依据(工号),
2、“甲!A:D”表示在甲表中,从“A列(工号)到D列(生日)”,
3、“4”表示甲表中A:D间隔为4,
4、“0”表示精确匹配,即工号需要完全一致才可以对应。
该函数详细语法如下,需要仔细阅读才可完全理解,供参考:
——————————————————————
VLOOKUP
在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定列处的数值。当比较值位于数据表首列时,可以使用函数 VLOOKUP 代替函数 HLOOKUP。
在 VLOOKUP 中的 V 代表垂直。
语法
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
Lookup_value 为需要在数组第一列中查找的数值。Lookup_value 可以为数值、引用或文本字符串。
Table_array 为需要在其中查找数据的数据表。可以使用对区域或区域名称的引用,例如数据库或列表。
如果 range_lookup 为 TRUE,则 table_array 的第一列中的数值必须按升序排列:…、-2、-1、0、1、2、…、-Z、FALSE、TRUE;否则,函数 VLOOKUP 不能返回正确的数值。如果 range_lookup 为 FALSE,table_array 不必进行排序。
通过在“数据”菜单中的“排序”中选择“升序”,可将数值按升序排列。
Table_array 的第一列中的数值可以为文本、数字或逻辑值。
文本不区分大小写。
Col_index_num 为 table_array 中待返回的匹配值的列序号。Col_index_num 为 1 时,返回 table_array 第一列中的数值;col_index_num 为 2,返回 table_array 第二列中的数值,以此类推。如果 col_index_num 小于 1,函数 VLOOKUP 返回错误值值 #VALUE!;如果 col_index_num 大于 table_array 的列数,函数 VLOOKUP 返回错误值 #REF!。
Range_lookup 为一逻辑值,指明函数 VLOOKUP 返回时是精确匹配还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值;如果 range_value 为 FALSE,函数 VLOOKUP 将返回精确匹配值。如果找不到,则返回错误值 #N/A。
说明
如果函数 VLOOKUP 找不到 lookup_value,且 range_lookup 为 TRUE,则使用小于等于 lookup_value 的最大值。
如果 lookup_value 小于 table_array 第一列中的最小数值,函数 VLOOKUP 返回错误值 #N/A。
如果函数 VLOOKUP 找不到 lookup_value 且 range_lookup 为 FALSE,函数 VLOOKUP 返回错误值 #N/A。 参考技术C
Excel的VBA编程中,很常用到的是通过字符串返回Range的功能,然后进一步对Range操作,这里水文工具集介绍一个实用的VBARange函数RangeFromAddress,具体源代码如下:
上面的RangeFromAddress还引用到两个函数,具体代码如下
01.Function GetObjectParentSheet(aObject As Object) As Object
02.Dim op As Object
03.On Error Resume Next
04.
05.If aObject Is Nothing Then GoTo ErrorExit
06.Set op = aObject.Parent
07.If op Is Nothing Then GoTo ErrorExit
08.
09.If TypeOf op Is Workbook Then
10.Set GetObjectParentSheet = aObject
11.GoTo ErrorExit
12.End If
13.
14.Do Until (TypeOf op Is Worksheet) Or (TypeOfop Is Application)
15.Set op = op.Parent
16.Loop
17.
18.If TypeOf op Is Worksheet Then SetGetObjectParentSheet = op
19.
20.ErrorExit:
21.Exit Function
22.End Function
23.
24.
25.Function GetObjectParentWorkbook(aObject AsObject) As Workbook
26.Dim o As Object
27.
28.On Error GoTo ErrorHandle
29.
30.If aObject Is Nothing Then GoTo ErrorExit
31.Set o = aObject.Parent
32.
33.If TypeOf aObject Is Workbook Then
34.Set GetObjectParentWorkbook = aObject
35.GoTo ErrorExit
36.End If
37.
38.Do Until (TypeOf o Is Workbook) Or (TypeOf o Is Application)
39.Set o = o.Parent
40.Loop
41.
42.If TypeOf o Is Workbook Then SetGetObjectParentWorkbook = o
43.
44.ErrorExit:
45.Exit Function
46.
47.ErrorHandle:
48.Resume ErrorExit
49.End Function
参考技术D 没有这个函数,只有AVERAGERANGE其实就是选择计算范围
以上是关于excel range函数的主要内容,如果未能解决你的问题,请参考以下文章
Excel excel函数参数中的range和reference有啥区别
Excel excel函数参数中的range和reference有啥区别