繁体   English   中英

如何将单元格中的子字符串分成VBA中的数组

[英]How to separate substrings in a cell into array in vba

我想知道是否有人可以给我一些指导。 我在每一单元格中有一列这样排列数据:

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

这样,我只能在该单元格中获得第一个名字-年龄(昵称)对联。.是否有更好的方法来解决这个问题?

在此先感谢您的帮助。

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

您有两种选择:

  1. 按空间划分

例如,cellvalue只是引用您单元格的变量名称。 对于多个单元,您可能会循环通过。

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

例如

vArray = Sheets(1).Range("A1:H10").value

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM