如何在VBA中应用Excel的函数,如vlookup()?
我在Excel中用vba写一段程式用到下面一句Cells(5,1)=Application.WorksheetFunction.VLookup(Cells(5,2),Sh...
我在Excel中用vba写一段程式 用到下面一句
Cells(5, 1) = Application.WorksheetFunction.VLookup(Cells(5, 2), Sheets("HR").Range("A:C"), 3, 0)
执行后出错 请问是什麽原因? 展开
Cells(5, 1) = Application.WorksheetFunction.VLookup(Cells(5, 2), Sheets("HR").Range("A:C"), 3, 0)
执行后出错 请问是什麽原因? 展开
4个回答
展开全部
当vlookup找不到匹配的结果,就会返回错误值#N/A,这个错误值使vba报错。
为了避免找不到而报错,可以使用以下错误捕获
Sub test()
On Error Resume Next
Cells(5, 1) = Application.WorksheetFunction.VLookup(Cells(5, 2), Sheets("HR").Range("A:C"), 3, 0)
End Sub
当然,你使用find方法也可以,方法不唯一,就看你习惯用哪个。
展开全部
出现这个问题就是在HR表的A列中没有找到Cells(5,2)匹配的值。可以采用如下方法来实现:
Set rng=Sheets("HR").[A:A].Find([b2].Text,,,1)
IF Not rng Is Nothing Then [B1]=Rng.Offset(,3)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
查找引用不应该用VBA,如果非要用VBA就用字典法。
VLOOKUP应该用定义公式的方法比较妥当。
VLOOKUP应该用定义公式的方法比较妥当。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我复制你的代码式了一下,没问题啊
这个提示就是没找到的意思,和单元格里的#N/A是一个意思
代码本身没有错,就是没找到而已
你用一个肯定能找到的再试试
这个提示就是没找到的意思,和单元格里的#N/A是一个意思
代码本身没有错,就是没找到而已
你用一个肯定能找到的再试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询