VBA:Substitute()适用于字符串,但不适用于Cell内容

时间:2017-05-24 16:57:09

标签: excel vba excel-vba substitution

我有一个包含字符串" Tom,Adam,Ben,Sarah"的单元格。 我试图将每个项目放入一个数组。 Split()函数似乎不适用于","作为分隔符;只有","

因此,我尝试在使用Split()之前从字符串/单元格中删除空格。在这种情况下,我使用Substitute()函数,因为Replace()似乎不起作用。

workingCell = "Tom, Adam, Ben, Sarah"
workingCell1 = Range("C4") 'contains: Tom, Adam, Ben, Sarah

workingCell = WorksheetFunction.Substitute(workingCell, " ", "")   'removes all spaces
workingCell1 = WorksheetFunction.Substitute(workingCell1, " ", "") 'retains all spaces

splitArr = VBA.Split(workingCell1, ",")

For Each element In splitArr
    Debug.Print (element)
Next

似乎Range(" C4")未被视为值,并且不被视为字符串。使用范围(" C4")。值也不起作用。

1 个答案:

答案 0 :(得分:0)

您无需删除空格。只需将它们作为分割函数中分隔符的一部分包含在内。

workingCell1 = Range("C4") 'contains: Tom, Adam, Ben, Sarah
splitArr = VBA.Split(workingCell1, ", ")

For Each element In splitArr
    Debug.Print (element)
Next

请注意此行中分隔符参数中逗号后面的空格:

splitArr = VBA.Split(workingCell1, ", ")