可实现精确查找、模糊查找和继续查找的自定义函数

可实现精确查找、模糊查找和继续查找的自定义函数

ID:39139334

大小:28.50 KB

页数:3页

时间:2019-06-25

可实现精确查找、模糊查找和继续查找的自定义函数_第1页
可实现精确查找、模糊查找和继续查找的自定义函数_第2页
可实现精确查找、模糊查找和继续查找的自定义函数_第3页
资源描述:

《可实现精确查找、模糊查找和继续查找的自定义函数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、可实现精确查找、模糊查找和继续查找的自定义函数  在Excel中,VLOOKUP()是最常被使用的查找引用函数,但这个函数有一个问题,就是被查找的对象必须位于所查找区域的第一列位置上,引用是使用相对地址进行操作的,而且,当被查找区域不存在被查找对象时,函数返回值是不正确的。  下面第一个函数S_FIND在以前介绍过,该函数正是针对这一问题,即所查找对象可以位于被查找区域的任意列上,查找的应用也使用绝对地址,即直接通过列标来引用。  但我最初设计的时候,该函数仅能完成对单元格的精确查找,无法完成模糊查找和继续查找。  重新设计的

2、查找函数包括以下组合:S_FIND(M_code,M_SHEET,M_AREA,M_COLAsString)实现对被查找对象的精确查找、S_FINDP(M_code,M_SHEET,M_AREA,M_COLAsString)实现对被查找对象的模糊查找、S_FINDN(M_code,M_SHEET,M_AREA,M_COLAsString)实现对被查找对象的继续查找。其中,实现继续查找需引入全局变量,即在模块首部进行变量定义,而且S_FINDN函数的使用必须在S_FIND或S_FINDP被使用后才起作用。同时,当第四个函数变量M

3、_COL被以空字符(即"")代入时,该三函数返回值为被查找对象的行标。DimM_CBUT,M_CROWAsIntegerFunctionS_FIND(M_code,M_SHEET,M_AREA,M_COLAsString)'在M_SHEET工作表M_AREA范围中精确查找M_CODE所在行,并返回其对应的M_COL列单元格的值。'以上函数参数均为文本或其值为文本的单元格或表达式。DimM_ROWAsIntegerDimM_STEPAsIntegerM_CBUT=0M_CROW=0M_RANGE=""OnErrorGoTo100

4、M_code=Trim(M_code)IfM_SHEET=""ThenM_ROW=Range(M_AREA).Find(Trim(M_code),LOOKAT:=xlWhole).RowIfM_COL=""ThenM_RANGE=M_ROWElseM_RANGE=Range(M_COL&M_ROW)EndIfElseM_ROW=Range(M_SHEET&"!"&M_AREA).Find(Trim(M_code),LOOKAT:=xlWhole).RowIfM_COL=""ThenM_RANGE=M_ROWElseM_RANG

5、E=Range(M_SHEET&"!"&M_COL&M_ROW)EndIfEndIfM_CBUT=1M_CROW=M_ROW100:S_FIND=M_RANGEEndFunctionFunctionS_FINDP(M_code,M_SHEET,M_AREA,M_COLAsString)'在M_SHEET工作表M_AREA范围中模糊查找M_CODE所在行,并返回其对应的M_COL列单元格的值。'以上函数参数均为文本或其值为文本的单元格或表达式。DimM_ROWAsIntegerDimM_STEPAsIntegerM_CBUT=0

6、M_CROW=0M_RANGE=""OnErrorGoTo100M_code=Trim(M_code)IfM_SHEET=""ThenM_ROW=Range(M_AREA).Find(Trim(M_code),LOOKAT:=xlPart).RowIfM_COL=""ThenM_RANGE=M_ROWElseM_RANGE=Range(M_COL&M_ROW)EndIfElseM_ROW=Range(M_SHEET&"!"&M_AREA).Find(Trim(M_code),LOOKAT:=xlPart).RowIfM_COL

7、=""ThenM_RANGE=M_ROWElseM_RANGE=Range(M_SHEET&"!"&M_COL&M_ROW)EndIfEndIfM_CBUT=1M_CROW=M_ROW100:S_FINDP=M_RANGEEndFunctionFunctionS_FINDN(M_code,M_SHEET,M_AREA,M_COLAsString)'在M_SHEET工作表M_AREA范围中再次查找M_CODE所在行,并返回其对应的M_COL列单元格的值。'以上函数参数均为文本或其值为文本的单元格或表达式。'此函数必须在S_FIN

8、D或S_FINDP被点击后使用DimM_ROWAsIntegerDimM_STEPAsIntegerM_RANGE=""OnErrorGoTo100IfM_CBUT=0ThenGoTo100M_code=Trim(M_code)IfM_SHEET=""ThenM_ROW=Ra

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。