基于/在字段中拆分excel上的行

时间:2012-06-15 20:54:32

标签: excel excel-vba openoffice-calc vba

假设列B具有Data1 / Data2 / Data3-1 / Data3-7等数据 - 所有其他行都有各种数据。

我需要获取具有该列B的每一行(有些可能不会)并为每个单独的值创建1行,并为所有这些行复制该行中的每个其他数据。

数据可能包含符号,短划线和其他随机内容,但实际数据本身不会包含/,仅用于指定分割线

Any1知道最好的方法吗? Excel 07和OO可用。

1 个答案:

答案 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