当前位置:数据库 > Excel >>

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的步骤,为什么导出来会有$符号。

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,