您的位置:程序门 -> vb -> vba



一个复杂排序问题请大虾帮助,急!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


一个复杂排序问题请大虾帮助,急!
发表于:2007-07-26 15:33:09 楼主
原始表格如下:

num   标题

1.1      张三

1.2      李四

10.1.3               王五

10.1.1               赵六

6.2.3                         钱七

2.3                   孙八


期望排序结果,根据num进行升序排列

num   标题

1.1      张三

1.2      李四

2.3                         钱七

6.2.3                   孙八

10.1.1               赵六

10.1.3               王五
发表于:2007-07-26 16:38:081楼 得分:0
select   num  
    from   testtable   order   by  
lpad(substr(num,1,instr(trim(num), '. ')-1),3, '0 ')   ¦ ¦
decode(instr(trim(num), '. ',1,2),
0,
(lpad(substr(trim(num),(instr(trim(num), '. ')+1)),3, '0 '))   ¦ ¦   '000 ',
(lpad(substr(trim(num),instr(trim(num), '. ')+1,(instr(trim(num), '. ',1,2))-(instr(trim(num), '. ')+1)),3, '0 '))
¦ ¦   (lpad(substr(trim(num),(instr(trim(num), '. ',1,2)+1)),3, '0 ')))
发表于:2007-07-26 16:46:532楼 得分:0
你什么数据库?
发表于:2007-07-27 01:30:293楼 得分:0
excel数据?
假设数据在a,b两列

sub   macro1()
application.screenupdating   =   false
dim   i   as   long,   n   as   long
[c:c]   =   [a:a].value
[c:c].texttocolumns   [c1],   xldelimited,   ,   ,   ,   ,   ,   ,   true,   ". ",   ,   ,   ,   true
with   [a1].currentregion.offset(1,   0)
n   =   .columns.count
for   i   =   n   to   3   step   -1
.sort   [a2].offset(,   i   -   1)
next
.offset(-1,   2)   =   " "
end   with
application.screenupdating   =   true
end   sub

发表于:2007-07-27 12:14:284楼 得分:0
我用了分列的方法解决了,不过效率低。谢谢楼上大哥的帮助。


快速检索

最新资讯
热门点击