在下一行中使用公式拆分单元格Excel vba
我试图拆分单元格,如果包含“,”到下一行我使用此公式从sheet1(= Sheet1!B3)等获取数据,数据是在B3:AF50。 我使用这个vba代码
Sub splitcells() Dim InxSplit As Long Dim SplitCell() As String Dim RowCrnt As Long With Worksheets("Sheet2") RowCrnt = 3 Do While True If .Cells(RowCrnt, "b").Value = "" Then Exit Do End If SplitCell = Split(.Cells(RowCrnt, "b").Value, ",") If UBound(SplitCell) > 0 Then .Cells(RowCrnt, "b").Value = SplitCell(0) For InxSplit = 1 To UBound(SplitCell) RowCrnt = RowCrnt + 1 .Cells(RowCrnt, "b").Value = SplitCell(InxSplit) .Cells(RowCrnt, "B").Value = .Cells(RowCrnt - 1, "B").Value Next End If RowCrnt = RowCrnt + 1 Loop End With End Sub
问题是
- 这个代码我不知道如何给范围(B3:Af50)
- 此代码不保留我的代码(= Sheet1!)
- 它只是复制“,”之前的值,
我的单元格值是这样的
B3 ABC,XYZ,KKK,LLL我希望它分裂为B3 = ABC和B4 = XYZ B5 = KKK b6 = LLL
并且如果B3中的值被改变,则应该清除早期分割的单元(B4,B5,B6),并且如果分割所需的准则,则更新“
有这样的表单
分裂后应该看起来像完整的公式
不需要VBA。
使用Sheet1单元格B3中的数据,将其放在任何表格的任何单元格中:
=TRIM(MID(SUBSTITUTE(Sheet1!$B3,",",REPT(" ",999)),COLUMNS($A:A)*999-998,999))
并复制。
编辑#1:
要向下复制,请改用此公式:
=TRIM(MID(SUBSTITUTE(Sheet1!B$3,",",REPT(" ",999)),ROWS($1:1)*999-998,999))