vb调用excel查询数据问题
型号唯一,但记忆型号和尺寸不具有唯一性,
根据用户输入“记忆型号”,系统自动查询”记忆型号“列,并返回对应“尺寸”列的值,用户选择后系统返回对应的型号信息。
例如:输入LX1194,查询结果为1.0、1.2,选择1.2,最终型号为LX1194-1.2。
最傻的办法是将输入数据和excel中的数据一个一个比对,相同则返回数据所在列,获得对应的尺寸数据,但记录有几千条,每次得等几十秒,可行性不高。
实在不行也可以考虑用数据库来存储数据,只是对数据库一窍不通,而且将excel转化成数据库的时候会有些障碍
下图是数据格式范例
答案:类似问题碰到过,VLOOKUP不能直接查询三维表,可以嵌套来实现
从你提的问题看,这个表做成《假3维表》应该比较方便查看数据等,例如
记忆型号 尺寸1 尺寸2
LX1194 1.0 1.2
J20X20 1 2.2
还需要有一个辅助表格,用VLOOKUP来定位是(尺寸1)结果还是(尺寸2)结果
建立一个 对尺寸1 尺寸2 的检索 即用VLOOKUP时 自动选择对应列
尺寸1 1
尺寸2 2
-------------------------------------------------
列A 用LOOKUP 找到 最终需要提取哪一列数据 尺寸1 还是 尺寸2
列B 用LOOKUP 找到 型号
列C 用LOOKUP vlookup(型号数据,3维表, 列A)
大概是这样 我用这种方式感觉不错(2维表校对数据太麻烦,N多行)
我的 MAIL piaoyong_008@163.com 可以发邮件,我把我用的实例发给你(说十句不如看一遍)
其他:必须用VB/VBA的话可以这样,如果使用VB操作的话和Access区别不大,可以用ADO。
Function ss(ByVal t As String, ByVal c As Long) As String
't 要查找的型号,c 返回第几列的结果可以是1、2、3
ss = WorksheetFunction.VLookup(t, Sheet1.Range("A:C"), c, False)
End Function
上一个:1、PowerPoint 2003中可以插入以下______对象。 A:Access文档 B:Excel文档 C:Word文档 D:其它Windows
下一个:SQL2000企业管理器中导入EXCEL的步骤,为什么导出来会有$符号。