如何将多行excel单元格转换为多行,同时保持其他值不变?

如何将多行excel单元格转换为多行,同时保持其他值不变?,excel,vba,Excel,Vba,如何将多行单元格转换为多行,同时保持其他单元格中的数据不变。 这是我所拥有的,期望的结果也显示在下面。 尝试将文本转换为列,但它将其转换为多列,这不是我要寻找的。这里是我有超过100行的内容 下面是它应该是什么样子 任何帮助都将不胜感激。这对我很有用。 这对我有用。 假设数据在A、B和C列中: Sub G() Dim r&, x&, cnt%, arr Dim wksOutput As Worksheet Dim this As Workshee

如何将多行单元格转换为多行,同时保持其他单元格中的数据不变。 这是我所拥有的,期望的结果也显示在下面。 尝试将文本转换为列,但它将其转换为多列,这不是我要寻找的。这里是我有超过100行的内容

下面是它应该是什么样子

任何帮助都将不胜感激。

这对我很有用。

这对我有用。


假设数据在A、B和C列中:

Sub G()

    Dim r&, x&, cnt%, arr
    Dim wksOutput As Worksheet
    Dim this As Worksheet

    x = 2 '//Skip header
    Set this = ActiveSheet
    Set wksOutput = Sheets.Add(After:=Sheets(Sheets.Count))

    With wksOutput
        For r = 2 To this.Cells(Rows.Count, 1).End(xlUp).Row
            arr = Split(this.Cells(r, "C"), Chr(10))
            cnt = UBound(arr) + 1
            .Cells(x, "A").Resize(cnt) = this.Cells(r, "A")
            .Cells(x, "B").Resize(cnt) = this.Cells(r, "B")
            .Cells(x, "C").Resize(cnt) = Application.Transpose(arr)
            x = x + cnt
        Next
    End With

End Sub

假设数据在A、B和C列中:

Sub G()

    Dim r&, x&, cnt%, arr
    Dim wksOutput As Worksheet
    Dim this As Worksheet

    x = 2 '//Skip header
    Set this = ActiveSheet
    Set wksOutput = Sheets.Add(After:=Sheets(Sheets.Count))

    With wksOutput
        For r = 2 To this.Cells(Rows.Count, 1).End(xlUp).Row
            arr = Split(this.Cells(r, "C"), Chr(10))
            cnt = UBound(arr) + 1
            .Cells(x, "A").Resize(cnt) = this.Cells(r, "A")
            .Cells(x, "B").Resize(cnt) = this.Cells(r, "B")
            .Cells(x, "C").Resize(cnt) = Application.Transpose(arr)
            x = x + cnt
        Next
    End With

End Sub

可能重复我已经尝试过该解决方案,但它似乎不适用于具有空行和/或多个返回的多行。即使是100行,每行都有一个单元格,其中包含50多行文本,全部放在一个单元格中。我尝试了一些公式,但没有成功。重要的问题是:单元格是否合并或文本仅在一个单元格中?文本仅在一个单元格中。这不是一个合并的单元格。可能是我已经尝试过的解决方案的副本,但它似乎不适用于具有空行和/或多个返回的多行。即使是100行,每行都有一个单元格,在一个单元格中包含50多行文本。我尝试了一些公式,但没有成功。重要的问题是:单元格是否合并或文本仅在一个单元格中?文本仅在一个单元格中。这不是一个合并的细胞,这就像一个符咒。这里和那里都有一些小故障,但它确实起作用了。这很有魅力。这里和那里都有一些小故障,但它确实起到了作用。