vlookup在VBA中如何使用?

原本是VLOOKUP(A1,信息表!A:B,2,0)在VBA里怎么写?Application.WorksheetFunction.VLookup(TextBox1.tex... 原本是VLOOKUP(A1,信息表!A:B,2,0)
在VBA里怎么写?
Application.WorksheetFunction.VLookup(TextBox1.text,信息表!A:B,2 ,0)提示":"有错误
Label4.Caption = Application.WorksheetFunction.VLookup(TextBox4.Text, Worksheets("信息表").Range("A:B"), 2, 0)
错误1004
展开
 我来答
兼程100603
2012-01-05 · TA获得超过208个赞
知道答主
回答量:79
采纳率:100%
帮助的人:37.2万
展开全部
VLOOKUP
在表格数组的首列查找指定的值,并由此返回表格数组当前行中其他列的值。

VLOOKUP 中的 V 参数表示垂直方向。当比较值位于需要查找的数据左边的一列时,可以使用 VLOOKUP 而不是 HLOOKUP。

语法
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

Lookup_value 为需要在表格数组 (数组:用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量。)第一列中查找的数值。Lookup_value 可以为数值或引用销缺。若 lookup_value 小于 table_array 第一列中的最小值,VLOOKUP 返回错误值 #N/A。

Table_array 为两列或多列数据。使用对区域或区域名称的引用。table_array 第一列中的值是由 lookup_value 搜索的值。这些值可以是文本、数字或逻辑值。文本不区分大小写。

Col_index_num 为 table_array 中待返回的匹配值的列序号。Col_index_num 为 1 时,返回 table_array 第一列中的数值;col_index_num 为 2,返回 table_array 第二列中的数值,以此类推。如果 col_index_num :

小于 1,VLOOKUP 返回错误值 #VALUE!。
大于 table_array 的列数,VLOOKUP 返回错误值 #REF!。
Range_lookup 为逻辑值,指定希望 VLOOKUP 查找精确的匹配仿尺值还是近似匹配值:

如果为 TRUE 或省略,则返回精确匹配值或近似匹配值。也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。
table_array 第一列中的值必须以升序排序;否则 VLOOKUP 可能无法返回正确的值。有关详细信息,请参阅排序数据。

如果为 FALSE,VLOOKUP 将只寻找精确匹配值。在此情况下,table_array 第一列的值不需要排序。如果 table_array 第一列中有两备斗高个或多个值与 lookup_value 匹配,则使用第一个找到的值。如果找不到精确匹配值,则返回错误值 #N/A。
注解
在 table_array 第一列中搜索文本值时,请确保 table_array 第一列中的数据没有前导空格、尾部空格、直引号(' 或 ")与弯引号(‘或“)不一致或非打印字符。否则,VLOOKUP 可能返回不正确或意外的值。有关详细信息,请参阅 CLEAN 和 TRIM。
在搜索数字或日期值时,请确保 table_array 第一列中的数据未存储为文本值。否则,VLOOKUP 可能返回不正确或意外的值。有关详细信息,请参阅将保存为文本的数字转换为数字值。
如果 range_lookup 为 FALSE 且 lookup_value 为文本,则可以在 lookup_value 中使用通配符、问号 (?) 和星号 (*)。问号匹配任意单个字符;星号匹配任意字符序列。如果要查找实际的问号或星号,请在该字符前键入波形符 (~)。
windimi007
推荐于2017-11-24 · TA获得超过1041个赞
知道小有建树答主
回答量:852
采纳率:0%
帮助的人:809万
展开全部
是不是数据类型不一致的关系慎没?
将代码改为下面的形式试试握丛看吧!
Label4.Caption = Application.WorksheetFunction.VLookup(val(TextBox4.Text), Worksheets("信息表"段孝樱).Range("A:B"), 2, 0)
追问
Dim BB As Range
Set BB = Worksheets("业主信息表").Range("A1:A600").Find(TextBox1.Value, LookIn:=xlValues, LookAt:=xlWhole)
这样为什么提示下表越界?
追答
Dim BB As Range
Set BB = Worksheets("业主信息表").Range("A1:A600").Find(Val(TextBox1.Value), LookIn:=xlValues, LookAt:=xlWhole)
这样呢?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友87e7e25
2012-01-04 · TA获得超过272个赞
知道小有建树答主
回答量:645
采纳率:0%
帮助的人:254万
展开全部
可能是你这里的vlookup没找到相应的值吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黑色九月843
2012-01-04
知道答主
回答量:18
采纳率:0%
帮助的人:8.3万
展开全部
不知
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式