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
2条答案
按热度按时间kx1ctssn1#
修改了这篇文章的代码。它生成了我想要的解决方案。VBA: Split cell values into multiple rows and keep other data
vuktfyat2#
我在Excel中使用Power Query找到了一个解决方案。单击[ctlr] + [a]选择全部,然后单击[ctlr] + [t]。
转到数据功能区并单击[From Table]
在Power Query中,突出显示您想要分隔的列。然后单击[Split Column],再选择[By Delimiter]
镜像下面的屏幕截图。单击“确定”和左手角落的[关闭并加载]。
最终结果应如下所示。