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



100分求助,分必给!excel中有这样的数据.......


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


100分求助,分必给!excel中有这样的数据.......[已结贴,结贴人:zl17]
发表于:2007-03-20 17:09:36 楼主
100分求助,分必给!excel中有这样的数据.......

张三     男       85                             东北路    
李四     女       34、47、68             南京路
老王     男       76                             上海路

编程后,数据如下:

张三     男       85                             东北路    
李四     女       34                             南京路
李四     女       47                   南京路
李四     女       68                             南京路
老王     男       76                             上海路

该怎样编程呢?请给出代码~~~   ,谢谢喽   ~~~~

发表于:2007-03-21 08:58:191楼 得分:10
msgbox   split( "1、2、3、4 ", "、 ")(0)
返回1

msgbox   ubound(split( "1、2、3、4 ", "、 "))
返回3----这个正好是你要插入的行数

代码你自己试着先写写看
发表于:2007-03-21 11:26:592楼 得分:90
例子如下(本人验证过,可以运行;如有不符,你可以改造):

private   sub   cmdstart_click()
        dim   i                       as   integer
        dim   imin                 as   integer
        dim   imax                 as   integer
       
        dim   j                       as   integer
        dim   jmin                 as   integer
        dim   jmax                 as   integer
       
        dim   istep               as   integer
       
        dim   stmp                 as   string
        dim   sarr()             as   string
       
        imin   =   1                 ' '   start   line   number
        imax   =   3                 ' '   end   line   number
        istep   =   10             ' '   the   start   linr   number   of   the   new   data.
       
        for   i   =   imin   to   imax
                stmp   =   sheet1.cells(i,   "c ")
               
                ' '   multi   data?
                if   instr(1,   stmp,   "、 ")   >   0   then
                        sarr   =   split(stmp,   "、 ")
                       
                        jmin   =   lbound(sarr)
                        jmax   =   ubound(sarr)
                       
                        for   j   =   jmin   to   jmax
                                sheet1.cells(istep,   "a ")   =   sheet1.cells(i,   "a ")
                                sheet1.cells(istep,   "b ")   =   sheet1.cells(i,   "b ")
                                sheet1.cells(istep,   "c ")   =   sarr(j)
                                sheet1.cells(istep,   "d ")   =   sheet1.cells(i,   "d ")
                               
                                istep   =   istep   +   1               ' '   next   line
                        next   j
                ' '   single   data?
                else
                        sheet1.cells(istep,   "a ")   =   sheet1.cells(i,   "a ")
                        sheet1.cells(istep,   "b ")   =   sheet1.cells(i,   "b ")
                        sheet1.cells(istep,   "c ")   =   sheet1.cells(i,   "c ")
                        sheet1.cells(istep,   "d ")   =   sheet1.cells(i,   "d ")
                       
                        istep   =   istep   +   1               ' '   next   line
                end   if
        next   i
       
end   sub


发表于:2007-03-21 11:29:103楼 得分:0
如果需要现实的例子、完整的文件,
把你的mail地址发个消息给我。
我已经不想再随便留下我的mail地址了。
发表于:2007-03-21 12:47:454楼 得分:0
楼上仁兄~
leiz2007@163.com~~~


发表于:2007-03-22 09:00:155楼 得分:0
这样要确保c列的数据是以: "、 "来分隔数据的。如里有一个不是、就会出错。
发表于:2007-03-23 13:29:306楼 得分:0
今天上来看了一下,不好意思刚看到你的回复,所以刚给你发邮件了。
有问题邮件联系。
我不是很常上来看以前答过的问题。
good   luck!


快速检索

最新资讯
热门点击