假设列B具有Data1 / Data2 / Data3-1 / Data3-7等数据 - 所有其他行都有各种数据。
我需要获取具有该列B的每一行(有些可能不会)并为每个单独的值创建1行,并为所有这些行复制该行中的每个其他数据。
数据可能包含符号,短划线和其他随机内容,但实际数据本身不会包含/,仅用于指定分割线
Any1知道最好的方法吗? Excel 07和OO可用。
答案 0 :(得分:2)
VBA解决方案好吗?
Sub DuplicateRows()
Dim r As Range
Set r = Cells(Rows.Count, 2).End(xlUp)
Do While r.Row > 1
TestRow r
Set r = r.Offset(-1, 0)
Loop
TestRow r
End Sub
Sub TestRow(r As Range)
Dim i As Long, n As Long
Dim a() As String
i = InStr(r, "/")
If i > 0 Then
n = Len(r) - Len(Replace(r, "/", ""))
r.EntireRow.Copy
r.Offset(1, 0).Resize(n).EntireRow.Insert Shift:=xlDown
a = Split(r, "/")
For i = 0 To n
r.Offset(i, 0) = a(i)
Next
End If
Application.CutCopyMode = False
End Sub