excel2007中能把A1单元格中的内容“1-20、22、24-30” 在B列中完全连续并顺序的显示出来吗?

[复制链接]
查看11 | 回复9 | 2011-8-20 05:36:48 | 显示全部楼层 |阅读模式
回复

使用道具 举报

千问 | 2011-8-20 05:36:48 | 显示全部楼层
这个需要用VBA来实现。










<h4class=\"ask\">追问


谢谢你,能够具体说明吗?
回复

使用道具 举报

千问 | 2011-8-20 05:36:48 | 显示全部楼层
就是在excel里写个程序来实现。
回复

使用道具 举报

千问 | 2011-8-20 05:36:48 | 显示全部楼层
你能以题例写一个VBA的源程序给我吗?感激不尽!
回复

使用道具 举报

千问 | 2011-8-20 05:36:48 | 显示全部楼层
不好意思,我能看懂VBA,但编的话还不是那么熟练。
想想还是挑战自己,编写了一个,这里没有设定参数,只是对A1单元格的内容在B列中显示,你试试,应该可以改参数,让你在使用过程中不必局限在对A1统计,在B列输出。不过,目前是可以对付你的输出问题的。
Subshow()
DimstrAsString
DimlocationAsInteger,rowAsInteger
DimnumStart,numEndAsInteger
row=0
str=Cells(1,1).Value
a=Split(str,\"、\")
Fori=0ToUBound(a)
row=row1
location=InStr(1,a(i),\"-\")
Iflocation0Then
numStart=Left(a(i),location-1)
numEnd=Mid(a(i),location1)
Forj=numStartTonumEnd

Cells(row,2)=j
row=row1
Next
row=row-1
Else
Cells(row,2)=a(i)
EndIf
Next
EndSub
代码贴上后,直接运行就可以了
回复

使用道具 举报

千问 | 2011-8-20 05:36:48 | 显示全部楼层
谢谢啊,辛苦你了!
回复

使用道具 举报

千问 | 2011-8-20 05:36:48 | 显示全部楼层
不客气,这程序没实现你的要求?
回复

使用道具 举报

千问 | 2011-8-20 05:36:48 | 显示全部楼层
我做过一个提问,与您的问题类似,您可以参考,看是否有用。

可以用vba.
按住ALT依次按F11,i,m,粘贴下面代码后按F5即可完成.

Subtest()
Forr=1To3\'1到3行
a=Split(Cells(r,1).Value,\",\")\'1代表第1列,即A列
Fori=0ToUBound(a)-1\'用冒泡法对数据排序
Forj=i1ToUBound(a)
Ifa(i)a(j)Then
t=a(i)
a(i)=a(j)
a(j)=t
EndIf
Next
Next
Cells(r,1)=Join(a,\",\")\'排序后的结果写回原处
Next
EndSub






<spanclass=\"refer-title\">参考资料:</span><ahref=\"http://zhidao.baidu.com/question/288690803.html\"target=\"_blank\">http://zhidao.baidu.com/question/288690803.html</a>
回复

使用道具 举报

千问 | 2011-8-20 05:36:48 | 显示全部楼层
虽然功能完全不同,但是谢谢你的热心帮助!^.^
回复

使用道具 举报

千问 | 2011-8-20 05:36:48 | 显示全部楼层
不客气
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行