1 / 4
文档名称:

Excel VBA 中 Indirect 函数的使用.doc

格式:doc   大小:58KB   页数:4页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Excel VBA 中 Indirect 函数的使用.doc

上传人:小点 2019/5/11 文件大小:58 KB

下载得到文件列表

Excel VBA 中 Indirect 函数的使用.doc

文档介绍

文档介绍:了解Indirect函数返回由文本字符串指定的引用。此函数立即对引用进行计算,并显示其内容。当需要更改公式中单元格的引用,而不更改公式本身,请使用函数INDIRECT。前半句还好理解,后半句有点儿拗口了,其实大可不必在此深究这一句话的意思。个人觉得下面其他内容更重要。语法INDIRECT(ref_text,a1)Ref_text  为对单元格的引用,此单元格可以包含A1-样式的引用、R1C1-样式的引用、定义为引用的名称或对文本字符串单元格的引用。如果ref_text不是合法的单元格的引用,函数INDIRECT返回错误值#REF!。如果ref_text是对另一个工作簿的引用(外部引用),则那个工作簿必须被打开。如果源工作簿没有打开,函数INDIRECT返回错误值#REF!。如果ref_text引用的单元格区域超出行限制1,048,576或列限制16,384(XFD),则INDIRECT返回#REF!错误。注释    此行为不同于MicrosoftOfficeExcel2007之前的Excel版本,早期的版本会忽略超出的限制并返回一个值。A1  为一逻辑值,指明包含在单元格ref_text中的引用的类型。如果a1为TRUE或省略,ref_text被解释为A1-样式的引用。如果a1为FALSE,ref_text被解释为R1C1-样式的引用。第1参数要求【示例文件】通读完毕,其实看来INDIRECT很简单,就两个参数,一个是代表引用的字符串,一个是选择引用样式。首先,我们选择熟悉的A1引用样式来解读,即默认使用一个参数或者第2参数为TRUE或非0数值:Ref_text  为对单元格的引用,此单元格可以包含A1-样式的引用、R1C1-样式的引用、定义为引用的名称或对文本字符串单元格的引用。如果ref_text不是合法的单元格的引用,函数INDIRECT返回错误值#REF!。Ref在函数参数中一般指单元格引用;text则一般指字符串。这句话中,最重要的是告诉了我们INDIRECT的第一参数尽管可以变化多端,但最终必须是单元格引用。如图:A1单元格输入"B2",B2单元格输入"C3",C3单元格输入"你找到这里了吗?"【用法1】第1参数直接就是表示某单元格区域的字符串,比如:示例1:=INDIRECT("A1")——返回对A1单元格的引用,得到"B2"示例2:=INDIRECT("A1:C2")——返回对A1:C2单元格区域的引用。【用法2】第1参数是引用,间接指向某单元格区域,比如:=INDIRECT(A1)因为A1单元格值"B2",那么这个公式就是=INDIRECT("B2"),最终返回的是对B2单元格引用,得到"C3";再绕远点=INDIRECT(INDIRECT(A1))那么这个公式第1步变为:=INDIRECT(INDIRECT("B2"));第2步变为=INDIRECT("C3"),因而最终返回对C3单元格的引用,得到"你找的这里了吗?"【用法3】第1参数是定义的名称,注意,必须是引用单元格或者可以表示单元格引用的字符的名称,比如:按CTRL+F3,定义名称X="A1"=INDIRECT(X)——返回对A1单元格的引用;在B1输入"X",然后用=INDIRECT(B1)得到#REF!错误,或者=INDIRECT("X")也同样是错误,这是因为"X"是