读书人

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

发布时间: 2012-02-27 10:00:22 作者: rapoo

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

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

编程后,数据如下:

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

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



[解决办法]
msgbox split( "1、2、3、4 ", "、 ")(0)
返回1

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

代码你自己试着先写写看
[解决办法]
例子如下(本人验证过,可以运行;如有不符,你可以改造):

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


读书人网 >VB

热点推荐