如果包含“,”,我正在尝试将单元格拆分到下一行,我正在使用此公式从 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 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))
关于excel - 在下一行Excel vba中使用公式拆分单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34860423/