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

zl17 2007-03-20 05:09:36
100分求助,分必给!excel中有这样的数据.......

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

编程后,数据如下:

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

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

...全文
256 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
TNT1900 2007-03-23
  • 打赏
  • 举报
回复
今天上来看了一下,不好意思刚看到你的回复,所以刚给你发邮件了。
有问题邮件联系。
我不是很常上来看以前答过的问题。
GOOD LUCK!
沐NeMo 2007-03-22
  • 打赏
  • 举报
回复
这样要确保C列的数据是以:"、"来分隔数据的。如里有一个不是、就会出错。
zl17 2007-03-21
  • 打赏
  • 举报
回复
楼上仁兄~
leiz2007@163.com~~~


TNT1900 2007-03-21
  • 打赏
  • 举报
回复
如果需要现实的例子、完整的文件,
把你的MAIL地址发个消息给我。
我已经不想再随便留下我的MAIL地址了。
TNT1900 2007-03-21
  • 打赏
  • 举报
回复
例子如下(本人验证过,可以运行;如有不符,你可以改造):

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



DawnPine 2007-03-21
  • 打赏
  • 举报
回复
msgbox split("1、2、3、4","、")(0)
返回1

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

代码你自己试着先写写看

2,506

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧