VBA:Substitute() 适用于字符串但不适用于单元格内容
VBA: Substitute() works on string but not on Cell contents
我有一个包含字符串 "Tom, Adam, Ben, Sarah" 的单元格。
我正在尝试将这些项目中的每一个放入一个数组中。
Split() 函数似乎无法使用“,”作为分隔符;只有 ","
因此,我试图在使用 Split() 之前从 string/cell 中删除空格。在这种情况下,我使用的是 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") 没有被当作一个值,也没有被当作一个字符串。使用 Range("C4").Value 也不起作用。
您不需要删除 space。只需将它们作为分隔符的一部分包含在 Split 函数中。
workingCell1 = Range("C4") 'contains: Tom, Adam, Ben, Sarah
splitArr = VBA.Split(workingCell1, ", ")
For Each element In splitArr
Debug.Print (element)
Next
请注意此行分隔符参数中逗号后的 space:
splitArr = VBA.Split(workingCell1, ", ")
我有一个包含字符串 "Tom, Adam, Ben, Sarah" 的单元格。 我正在尝试将这些项目中的每一个放入一个数组中。 Split() 函数似乎无法使用“,”作为分隔符;只有 ","
因此,我试图在使用 Split() 之前从 string/cell 中删除空格。在这种情况下,我使用的是 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") 没有被当作一个值,也没有被当作一个字符串。使用 Range("C4").Value 也不起作用。
您不需要删除 space。只需将它们作为分隔符的一部分包含在 Split 函数中。
workingCell1 = Range("C4") 'contains: Tom, Adam, Ben, Sarah
splitArr = VBA.Split(workingCell1, ", ")
For Each element In splitArr
Debug.Print (element)
Next
请注意此行分隔符参数中逗号后的 space:
splitArr = VBA.Split(workingCell1, ", ")