我需要将每行分割为2当第6列中的逗号分隔的值(多行)时。当单元格的值由逗号分隔时复制行
实施例(从2行):
A B C D E F G0 ,G1
A* B* C* D* E* F* G0*,G1*
变成:
A B C D E F G0
A B C D E F G1
A* B* C* D* E* F* G0*
A* B* C* D* E* F* G1*
我需要将每行分割为2当第6列中的逗号分隔的值(多行)时。当单元格的值由逗号分隔时复制行
实施例(从2行):
A B C D E F G0 ,G1
A* B* C* D* E* F* G0*,G1*
变成:
A B C D E F G0
A B C D E F G1
A* B* C* D* E* F* G0*
A* B* C* D* E* F* G1*
Option Explicit
Sub split_out()
Dim v As Long, vVALs As Variant, vSPLITs As Variant
Dim rw As Long, lr As Long, mx As Long
With Worksheets("Sheet4")
lr = .Cells(Rows.Count, 1).End(xlUp).Row
For rw = lr To 2 Step -1
vVALs = .Cells(rw, 1).Resize(1, 7).Value2
vSPLITs = Split(vVALs(1, 7), Chr(44))
For v = UBound(vSPLITs) To LBound(vSPLITs) + 1 Step -1
.Rows(rw + 1).EntireRow.Insert
.Cells(rw + 1, 1).Resize(1, 6) = _
Array(vVALs(1, 1), vVALs(1, 2), vVALs(1, 3), vVALs(1, 4), vVALs(1, 5), vVALs(1, 6))
.Cells(rw + 1, 7) = Trim(vSPLITs(v))
Next v
.Cells(rw, 7) = Trim(vSPLITs(v))
Next rw
End With
End Sub
这是关于这个问题的后续:http://stackoverflow.com/questions/38674587/vba-error-not-enough-memory-for-the-operation – jony
@ShaiRado我已经采用了正确的答案,但分裂没有完成。在那里你可以看到我的初始代码。 – jony
在这个问题中,没有一个例子在第6列中显示逗号,也没有你希望结果看起来像逗号一样。再次,发布您尝试解决此问题的方法,以及您的数据和期望输出的示例。但是'text to columns'向导是分割这个的一种方法。请阅读[我如何提出一个好问题](http://stackoverflow.com/help/how-to-ask)以及[如何创建最小,完整和可验证示例]的帮助主题(http ://stackoverflow.com/help/mcve) –