excel vba vlookup函数怎么老是出错?

ws1_7.Cells(j,134)=Application.WorksheetFunction.VLookup(ws1_7.Cells(j,7),ws7.Range("... ws1_7.Cells(j, 134) = Application.WorksheetFunction.VLookup(ws1_7.Cells(j, 7), ws7.Range("A6:H483"), 8, 0) * ws1_7.Cells(j, 13) 我想找第8行的值,范围内的第八列明明有值,为什么返回的都是空啊?哪里有问题? 展开
 我来答
鱼木混猪哟
高粉答主

推荐于2016-08-06 · 专注Office,尤其Excel和VBA
鱼木混猪哟
采纳数:6078 获赞数:33697

向TA提问 私信TA
展开全部
应该是工作表引用错误,正确写法是:
sheets("ws1_7").Cells(j, 134) = Application.WorksheetFunction.VLookup(sheets("ws1_7")..Cells(j, 7), sheets("ws7")..Range("A6:H483"), 8, 0) * sheets("ws1_7")..Cells(j, 13)

关于Vlookup函数的相关知识:
在表格或数值数组的首列查找指定的数值,并由此返回表格或数组中该数值所在行中指定列处的数值。
这里所说的“数组”,可以理解为表格中的一个区域。数组的列序号:数组的“首列”,就是这个区域的第一纵列,此列右边依次为第2列、3列……。假定某数组区域为B2:E10,那么,B2:B10为第1列、C2:C10为第2列……。
语法:
VLOOKUP(查找值,区域,列序号,逻辑值)
“查找值”:为需要在数组第一列中查找的数值,它可以是数值、引用或文字符串。
“区域”:数组所在的区域,如“B2:E10”,也可以使用对区域或区域名称的引用,例如数据库或数据清单。
“列序号”:即希望区域(数组)中待返回的匹配值的列序号,为1时,返回第一列中的数值,为2时,返回第二列中的数值,以此类推;若列序号小于1,函数VLOOKUP 返回错误值 #VALUE!;如果大于区域的列数,函数VLOOKUP返回错误值 #REF!。
“逻辑值”:为TRUE或FALSE。它指明函数 VLOOKUP 返回时是精确匹配还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于“查找值”的最大数值;如果“逻辑值”为FALSE,函数 VLOOKUP 将返回精确匹配值。如果找不到,则返回错误值 #N/A。如果“查找值”为文本时,“逻辑值”一般应为 FALSE 。另外:
·如果“查找值”小于“区域”第一列中的最小数值,函数 VLOOKUP 返回错误值 #N/A。
·如果函数 VLOOKUP 找不到“查找值” 且“逻辑值”为 FALSE,函数 VLOOKUP 返回错误值 #N/A。
wusong118
2013-11-01 · TA获得超过499个赞
知道小有建树答主
回答量:391
采纳率:0%
帮助的人:226万
展开全部
Vlookup(找什么?,在哪儿找?,返回第几列?,精确模糊匹配?) ,

如果不出来结果值请注意以下几个点:
1)找什么?
这个请注意是否统一了格式,建议做以下辅助手段,ucase(trim()),大写,去除多余空格.
数字(数值)格式是否统一?就是虽然都是100,但是有的是文本型,有的是数字型.
改善的方法是统一数字格式,ucase(trim())+0,只要加0了,就自动变成数字了.

2)在哪儿找
这里要注意第一列是否就是你能够找到"找什么"的列?,这列的格式和找什么是否统一?
在哪儿找的列数必须要大于返回第几列的列数
3) 返回第几列
这里注意下,返回第几列的列数必须小于在哪儿找的那个范围
4) 精确模糊,
建议直接选择精确.
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
crazy0qwer
2013-11-01 · TA获得超过3301个赞
知道大有可为答主
回答量:4020
采纳率:71%
帮助的人:1327万
展开全部

公式没错。

可能是你把表名搞错了。

这样修改试试:

Sheets("ws1_7").Cells(j, 134) = Application.WorksheetFunction.VLookup(Sheets("ws1_7").Cells(j, 7), Sheets("ws7").Range("A6:H483"), 8, 0) * Sheets("ws1_7").Cells(j, 13)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Ynzsvt
2015-10-18 · TA获得超过6665个赞
知道大有可为答主
回答量:1.5万
采纳率:40%
帮助的人:2693万
展开全部
vba就没必要使用VlookUp函数啦,用字典就好了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式