在下一行中使用公式拆分单元格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))