首页 > 解决方案 > 如何将单个单元格拆分为多行?

问题描述

我有一个有六列的表。我希望将一个单元格 (F2) 中的整数值分成多行。

此外,我需要 AE 中的行与整数相关联。

我找到了一个类似于我需要的帖子,但它只有在你有两列时才有效。

在此处输入图像描述

我一直在尝试运行的代码

Sub ChickatAH()
    Dim rng As Range, Lstrw As Long, c As Range
    Dim SpltRng As Range
    Dim i As Integer
    Dim Orig As Variant
    Dim txt As String

    Lstrw = Cells(Rows.Count, "F").End(xlUp).Row
    Set rng = Range("A2:F" & Lstrw)

    For Each cell In rng.Cells
        Set SpltRng = cell.Offset(, 1)
        txt = SpltRng.Value
        Orig = Split(txt, Chr(10))
    For i = 0 To UBound(Orig)
        Cells(Rows.Count, "H").End(xlUp).Offset(1) = cell
        Cells(Rows.Count, "H").End(xlUp).Offset(, 1) = Orig(i)
    Next i
Next cell
End Sub

标签: excelvba

解决方案


修改了这篇文章的代码。它生成了我想要的解决方案。 VBA:将单元格值拆分为多行并保留其他数据

Sub splitByColF()
    Dim r As Range, i As Long, ar
    Set r = Worksheets("Sheet1").Range("F999999").End(xlUp)
    Do While r.Row > 1
        ar = Split(r.Value, Chr(10))
        If UBound(ar) >= 0 Then r.Value = ar(0)
        For i = UBound(ar) To 1 Step -1
            r.EntireRow.Copy
            r.Offset(1).EntireRow.Insert
            r.Offset(1).Value = ar(i)
        Next
        Set r = r.Offset(-1)
    Loop
End Sub

推荐阅读