繁体   English   中英

在下一行Excel vba中使用公式拆分单元格

[英]Split cells with formula in next row 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))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM