EXECL两工作表数据查询问题
有两个工作表,第一个有3千行数据,第二个有3百行数据,从第一个将数据一个一个取出在第二个表中查找匹配,并做一定的处理。
我直接用sheets(1).Cells(x, y).Value与sheets(2).Cells(x, y).Value来查询
还有就是将第二个表中数据写入一个数组中,然后再用sheets(1).Cells(x, y).Value与数组中的元素查询
不知哪种方法效率更好?
问题点数:20、回复次数:5Top
1 楼xinliangyu(yxl)回复于 2004-08-04 11:04:25 得分 10
你的问题好象与下面的贴子相似,请讲得更具体些:究竟要做什么?
http://community.csdn.net/Expert/topic/3238/3238971.xml?temp=.1714746Top
2 楼libfiretwo(五笔)回复于 2004-08-05 21:45:26 得分 0
意思是sheets(1).Cells(x, y).Value是工作表变量,程序中用工作表变量更快还是用内存变量更快。
因为我看到书上说用工作表变量更快,可我写的查询程序运行起来好慢,就是想求一个好的在两个表中对应查询数据的程序。类似于FOXPRO中在工作表关联查询。
请高手赐教!!!
Top
3 楼jklq(小老鼠)回复于 2004-08-05 22:22:52 得分 10
工作表变量本身就是内存变量.理论上速度没区别,建议步进检查程序是否合理.Top
4 楼xinliangyu(yxl)回复于 2004-08-07 11:47:48 得分 0
如果要处理的工作表单元格相邻,应考虑用工作变量,可以定义一定基准单元,然后使用offset函数[方法]处理相邻单元格,形如:
dim bsRange as range
dim iRow as integer
dim iCol as integer
set bsRange=sheets(1).range("XX")
...
for iRow=0 to XX
for iCol=0 to YY
msgbox "当前单元格值为:" & bsRange.offset(iRow,iCol).value
next
nextTop
5 楼libfiretwo(五笔)回复于 2004-08-07 18:42:32 得分 0
谢谢Top




