将Variant数组转换为String

时间:2014-03-17 13:56:34

标签: vba variant

我正在尝试使用变量变量并将其转换为字符串,以便我可以对数据运行拆分函数。但是,每当我尝试重新定义变体时,我都会遇到类型不匹配错误。我使用了CStr(),Str()和ToString函数。没有用。

我缺少什么?

Function FlatLine(ByVal lines As Variant)

Dim flat() As String
ReDim Preserve flat(i)

For i = 0 To UBound(lines)
    flat(UBound(flat)) = lines(i)
    ReDim Preserve flat(LBound(flat) To UBound(flat) + 1)
Next i

Dim flat2 as String
flat2 = Cstr(flat)

^ errors there.

1 个答案:

答案 0 :(得分:6)

据我所知,for是无用的。更好的ReDim平坦并生成flat2,如下所示

ReDim flat(UBound(lines))
flat2 = Join(flat,"|")

事实上,鉴于线条是以ByVal形式出现的,你可能

flat2 = Join(lines,"|")