一个单元格有3个插入的数据行。如何将其拆分为每行数据的行

时间:2017-07-28 16:38:00

标签: excel excel-vba vba

单元格中的2行日期(可能是任何内容)。需要检测由\ n(新行?)分隔的单元格中的条目,并具有拆分每个行条目的单元格的功能。

所以我想象某个地方会检测到新行的字符(\ n或者其他),然后它会开始创建新的单元格来抓取它在\ n

之前检测到的数据

enter image description here

2 个答案:

答案 0 :(得分:1)

假设您的数据位于Column A,并且您希望通过在Column C中拆分数据来输出,则以下内容可能会有所帮助:

Option Explicit

Sub splitCell()
    Dim lastRow As Long, rowInd As Long, i As Long
    Dim tempArr As Variant
    Dim ws As Worksheet

    Set ws = ThisWorkbook.Sheets("Sheet1")  'Change Sheet1 to your worksheet

    With ws
        rowInd = 1
        lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row    'get last row with data in Column A
        For i = 1 To lastRow    'looping tgrough all the cells in Column A
            tempArr = Split(.Range("A" & i), Chr(10))   'Chr(10) is line break code
            .Range("C" & rowInd).Resize(UBound(tempArr) + 1, 1) = Application.Transpose(tempArr)
            rowInd = rowInd + UBound(tempArr) + 1
        Next i
    End With
End Sub

参见图片以供参考。

enter image description here

答案 1 :(得分:0)

作为工作表公式,

=TRIM(MID(SUBSTITUTE(P$1, CHAR(10), REPT(CHAR(32), LEN(P$1))), (ROW(1:1)-1)*LEN(P$1)+1, LEN(P$1)))

enter image description here