我试图建立一个循环,将在数据列中查看每一行,并根据““的第一个示例进行拆分。我可以在一行上运行,但循环从未激活。我尽了最大努力格式化此代码,但无法找到如何使命令显示为不同颜色等的教程。
Dim num
Dim RowCnt As Integer
Dim x As Integer
ActiveCell.Select ' the cell to split
RowCnt = Range(Selection, Selection.End(xlDown)).Rows.Count 'determines #rows in column to split
With ActiveCell ' with block
For x = 1 To RowCnt ' define # loops
.Offset(, -1).FormulaR1C1 = "=FIND("" "",RC[1],1)" ' determine first " "
num = .Offset(, -1).Value ' assign the number of chars to 'num'
Selection.TextToColumns Destination:=ActiveCell, DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(num, 1)), TrailingMinusNumbers:=True ' splits once based on 'num'
.Offset(, -1).ClearContents ' clear
.Offset(1, 0).Activate
Next x
End With
End Sub
1条答案
按热度按时间6tdlim6h1#
使用.offset(x,0).在最后一位激活(刚好在下一个x之上)
你可以用3行代码◇(w/ for循环)实现相同的功能,使用如下代码:
这将使用函数:
...这是一个数组函数,它使用req拆分的相关单元格重新生成原始列表。
◆ Office 365兼容性;使用/end/sub/等忽略“3行”。
塔💪