答案1
以下示例或许能给你提供一些帮助:
Sub delimit()
Dim c As Range, arr As Variant, myRange As Range, lColumn As Long
lColumn = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
Set myRange = Range(Cells(1, 4), Cells(1, lColumn))
For Each c In myRange
arr = Split(c.Value, " ")
If UBound(arr) - LBound(arr) + 1 = 2 Then
c.Value = arr(0)
c.Offset(0, 1).Value = arr(1)
End If
Next c
End Sub
这是我昨天编写的拆分代码和一些东西的组合。因此,我们首先找到最后一列,然后设置我们要遍历的范围。
我将范围从“ D1
”开始,因为它似乎与示例数据相符。
然后我循环遍历该范围内的所有单元格,并运行 Split。
如果 Split 返回包含两个值的预期数组,我们会将它们打印在当前单元格和下一个单元格中。
这不是很动态,可能会覆盖一些东西。可能需要设置一个条件以避免意外覆盖东西。但我只是想将它应用于这个特定的场景,并期望我们知道所有可能出现的值。
它也仅在您在正确的工作表中运行时才有效,因此如果您想更改它,请随意。