0

我想知道是否有人可以给我一些指示。我在每个单元格中有一列数据排列如下:

Column E

E1-  name-age(nickname)   name-age(nickname)   name-age(nickname) ....
E2-  name-age(nickname)   name-age(nickname)   name-age(nickname) ....
etc...

问题是全部在一列中,我知道我可以使用文本到列功能并用空格分隔它们。但是,有没有更优雅的方法来做到这一点?如果可能的话,我想通过 vba 来做。

我的最终目标是将每个“姓名-年龄(昵称)”对联捕获到一个数组中。目前我已经开始使用 vba -wise 是

Sub SplitColumn()
    Details = Cells(i, 5).Value  // where the big column data is located
    tempString = Left(Details, InStr(Details, "  "))
End Sub

有了这个,我只能在那个单元格中得到第一个名字-年龄(昵称)对联。有没有更好的方法来解决这个问题?

提前感谢您的帮助。

4

1 回答 1

1

您将子例程命名为Split列,但没有使用拆分功能。

你有两个选择:

  1. 按空间分割

例如,cellvalue 只是引用您的单元格的变量名称。对于多个单元格,您可以循环遍历。

  vArray As Variant
  vArray = Split(cellvalue, " ") 
  1. 利用Text to Columns菜单栏中的向导。然后将范围转置或转储到变体数组中。

例如

vArray = Sheets(1).Range("A1:H10").value
于 2013-02-06T01:11:31.673 回答