文本到列连接select值

我只想知道是否有一个简单的方法来执行类似TextToColumns命令,在该命令中获取一个array然后将该数组的一部分连接到一列。

例:

单元格A2中选定的TextToColumnsstring:John Doe 1:00 PM – 3:00 PM
粘贴到单元格B2中的值:John Doe
要粘贴到单元格C2中的值:下午1:00
要粘贴到单元格D2中的值:3:00 PM

我现在使用的代码是一个简单的TextToColumns序列:

 Sheets("Sheet1").Range("A2:A60").Select Selection.TextToColumns Destination:=Sheets("Sheet1").Range("B2"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _ Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _ :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _ Array(7, 1)) 

TextToColumns运行后,我有3 CONCATENATE公式重新join到一起的值。 我认为可能有更好的方法来处理这些信息

未经testing:

 dim c, arr for each c in Range("A2:A60").cells If Len(c.value) > 0 then arr = split(c.value," ") c.offset(0, 1).value = arr(0) & " " & arr(1) c.offset(0, 2).value = arr(2) & " " & arr(3) c.offset(0, 3).value = arr(5) & " " & arr(6) End If next c