Excel vba中使用vlookup函数
2014-04-28 16:38
1026 查看
1. 在excel vba编程中使用vlookup()时,vlookup不能直接写成excel公式中的样式[ =VLOOKUP(123,A1:C100,3,FALSE) ],会出现“子过程或函数未定义”的错误,应该写成application.VLOOKUP(123,A1:C100,3,FALSE) 或者写成 Application.WorksheetFunction.VLookup()方式。
2. 如果使用Application.WorksheetFunction.VLookup()时,会报错“不能取得worksheetfunction的vlookup属性”,因此最好使用第一种形式:application.VLOOKUP(123,A1:C100,3,FALSE) 。具体原因根据这里所说,Application.WorksheetFunction.VLookup()会进入debug模式,application.VLOOKUP(123,A1:C100,3,FALSE)不会进入debug模式。当然,如果想忽略错误可以直接写
"On Error Resume Next" 。
3.在使用上面任何一种形式的时候都有可能出现找不到“123”的情况,这种情况可以通过判断语句 Application.WorksheetFunction.IsError() 和 if 配合来处理,让错误输出成自己想要的格式。
参考资料:
http://iofai.com/559.html http://www.exceltip.net/thread-20656-1-1.html http://www.excelpx.com/forum.php?mod=viewthread&tid=284178 http://wubinsq.blog.163.com/blog/static/50751341200822144057698/ http://blog.csdn.net/iamlaosong/article/details/8929404 http://www.cpearson.com/excel/callingworksheetfunctionsinvba.aspx http://www.mrexcel.com/forum/excel-questions/584913-application-vs-application-worksheetfunction.html
2. 如果使用Application.WorksheetFunction.VLookup()时,会报错“不能取得worksheetfunction的vlookup属性”,因此最好使用第一种形式:application.VLOOKUP(123,A1:C100,3,FALSE) 。具体原因根据这里所说,Application.WorksheetFunction.VLookup()会进入debug模式,application.VLOOKUP(123,A1:C100,3,FALSE)不会进入debug模式。当然,如果想忽略错误可以直接写
"On Error Resume Next" 。
3.在使用上面任何一种形式的时候都有可能出现找不到“123”的情况,这种情况可以通过判断语句 Application.WorksheetFunction.IsError() 和 if 配合来处理,让错误输出成自己想要的格式。
findvalue = Application.VLookup(ActiveWorkbook.Worksheets(1).Range("E" & i), o, 2, 0) ' o为所查找的区域 If (Application.WorksheetFunction.IsError(findvalue)) Then ActiveWorkbook.Sheets(1).Cells(i, "G").Value = ActiveWorkbook.Sheets(1).Cells(i, "E").Value
'vlookup找不到,则G列的值等于E列的值 Else ActiveWorkbook.Sheets(1).Cells(i, "G").Value = findvalue End If
参考资料:
http://iofai.com/559.html http://www.exceltip.net/thread-20656-1-1.html http://www.excelpx.com/forum.php?mod=viewthread&tid=284178 http://wubinsq.blog.163.com/blog/static/50751341200822144057698/ http://blog.csdn.net/iamlaosong/article/details/8929404 http://www.cpearson.com/excel/callingworksheetfunctionsinvba.aspx http://www.mrexcel.com/forum/excel-questions/584913-application-vs-application-worksheetfunction.html
相关文章推荐
- Excel中vlookup函数的使用方法
- 学以致用——Excel连接Oracle生成iKB报告——Part1(使用VBA从数据库提取汇总数据)
- VBA:Excel使用SQL进行查询
- 使用VBA将一个EXCEL大表自动分成一系列小表(保留首行)
- Excel使用心得(vba)
- 对“在EXCEL中如何使用VBA进行格式转化”的改进算法
- 在Excel中使用VBA连接SAP系统并调用Function Module
- excel数据分析--vlookup函数的使用
- 使用VBA将Excel数据导入到Word的表格中
- EXCEL中VLOOKUP函数的使用
- 使用vlookup函数实现Excel数据对碰
- Excel使用VBA读取实时WebService股票数据
- 在Excel中使用VBA来筛选数据
- 使用VBA在Excel中实现自定义的Sum函数
- excel 中vlookup函数的使用方法【含因为格式问题造成的匹配不当】
- excel中使用VBA将单元格的内容转为多行
- 使用Excel中的VBA连接并操作Oracle
- 大学综合测评中,使用VBA代码自动完成EXCEL成绩表
- 使用VBA实现简单的EXCEL异或操作
- EXCEL中VLOOKUP函数的使用