求助,关于多个Excel表的排序问题怎样编写,请大家帮忙,我初次接触VBA

头让编个VBA程徐;来实现这样的功能
就是不能在一个excel表中放下的数据(超过10万条甚至几十万条的数据),要分成几个sheet来放,但是想要对整个的数据进行排序。
就是说原始数据分个几个sheet来放,无法统一的排序,所以我不清楚怎样编写vba才能实现不同sheet的统一排序呢?
有这样一个思路不知道可不可以,
就是假如现在有三个sheet,先对三个sheet分别排序,从小到大,然后定三个指针在三个sheet的记录上,每次比较三个记录得到最小的添加进一个新的sheet,同时那个sheet的指针下移一个记录,当对新sheet的添加超过65535个还要换一个sheet继续,最后实现总的排序,不知道这样可不可行?
请大家帮帮我,急用,:(
应该怎么编写呢?
[368 byte] By [Aloha2001-夏威夷之声] at [2008-6-10]
# 1
你这样操作速度太慢~
应该先对数据在数据库中进行排序后,再写入Sheet.
Jneu-沧海桑田 at 2007-10-23 > top of Msdn China Tech,其他开发语言,Office开发/VBA...
# 2
Jneu(沧海桑田):
那么要结合Access么?
会不会实现起来很麻烦?从Excel倒入Access再到回来?

速度并不太重要,如果这个算法容易实现我还是倾向先做出来,因为是急用:(
请多多指教
Aloha2001-夏威夷之声 at 2007-10-23 > top of Msdn China Tech,其他开发语言,Office开发/VBA...
# 3
PS:原始数据是存放在txt文件中的,没在数据库中
Aloha2001-夏威夷之声 at 2007-10-23 > top of Msdn China Tech,其他开发语言,Office开发/VBA...
# 4
建议用查询
如果数据记录有十几万甚至几十万,保存在文本文件很危险,因为它最大支持64KB
yunziwei-zhy at 2007-10-23 > top of Msdn China Tech,其他开发语言,Office开发/VBA...
# 5
1.你的数据列有多少,假如是5列的话,在A-E放第一部分数据,在F-J放第二部分数据
这样横着放过去,应该可以放几十万条
2.如果要通过VBA来实现,估计速度会很慢,因为我已经做过13万条记录的排序,不过是放在一个sheet里做的
latahu-邋遢胡 at 2007-10-23 > top of Msdn China Tech,其他开发语言,Office开发/VBA...
# 6
数据存放在txt文件中?如果不怕麻烦,先在vb或者access中自建一个库表,然后将txt文件中的数据依次存进表中,引用ado 2.0或以上,定义一个数据记录集[rs]打开(select ... from ... order by ...),计算一下共有多少条记录,需要多少个sheet,就创建几个sheet,然后你从[rs]头开始分段,依次写入这些sheet中。试试看吧。
# 7
同意上面这种做法
latahu-邋遢胡 at 2007-10-23 > top of Msdn China Tech,其他开发语言,Office开发/VBA...
# 8
谢谢大家
我记得也是64k限制阿,不过现在手里的文件有100多M的txt,几十0M的更多,难道是2000里没有这样的限制了吗?我不很清楚。
不过这并不是问题的重点。因为我的编程对象是xls文件(分成几个sheet之后的)
就是怎样把它们排好序:(,要的比较急,才想到那个什么算法的。
Aloha2001-夏威夷之声 at 2007-10-23 > top of Msdn China Tech,其他开发语言,Office开发/VBA...
# 9
to yunziwei(zhy)
请问您说的查询是指什么?
Aloha2001-夏威夷之声 at 2007-10-23 > top of Msdn China Tech,其他开发语言,Office开发/VBA...
# 10
query, 可以在导入数据前先排序,规定条件只导入需要的数据
yunziwei-zhy at 2007-10-23 > top of Msdn China Tech,其他开发语言,Office开发/VBA...
# 11
看了大家的意见,都认为我现在的设想比较麻烦,
确实,我也知道
可是现在是因为对VBA实在是不熟悉,加上头儿给的工作思路就是这样的,而且要处理的文件也是已经分好sheet的Excel文件,要的很急,所以另想更好的办法只好是先完成这个初步的VBA小程序让他用上之后才好再慢慢改进,
恳请大家帮忙呀,小弟先谢谢了:(
具体应该怎样实现呢?
Aloha2001-夏威夷之声 at 2007-10-23 > top of Msdn China Tech,其他开发语言,Office开发/VBA...
# 12
看了大家的意见,都认为我现在的设想比较麻烦,
确实,我也知道
可是现在是因为对VBA实在是不熟悉,加上头儿给的工作思路就是这样的,而且要处理的文件也是已经分好sheet的Excel文件,要的很急,所以另想更好的办法只好是先完成这个初步的VBA小程序让他用上之后才好再慢慢改进,
恳请大家帮忙呀,小弟先谢谢了:(
具体应该怎样实现呢?
Aloha2001-夏威夷之声 at 2007-10-23 > top of Msdn China Tech,其他开发语言,Office开发/VBA...
# 13


同意zhouhaijun(zhouhj)的方法,将数据读入数据库排好序后,根据所需要的sheet,重新写到sheet里。