首页 > 解决方案 > 将字符串评估为数组

问题描述

我正在使用这样的一行来将变量 a 分配给一个数组,并且效果很好

a = [{"From","To";1,2;2.5,3.5;3.5,5;5.7,7}]

现在我把它存储在一个字符串中

    s = "[{""From"",""To"";1,2;2.5,3.5;3.5,5;5.7,7}]"
a = Evaluate(s)

如何从字符串本身返回数组?我尝试使用 Evaluate 但这会引发错误

Sub Test()
Dim a
Dim s As String

s = "[{""From"",""To"";1,2;2.5,3.5;3.5,5;5.7,7}]"
a = Evaluate(s)

'a = [{"From","To";1,2;2.5,3.5;3.5,5;5.7,7}]


Range("A1").Resize(UBound(a, 1), UBound(a, 2)).Value = a
End Sub

标签: excelvba

解决方案


我可以解决这个问题

    s = "[{""From"",""To"";1,2;2.5,3.5;3.5,5;5.7,7}]"
a = Evaluate(Replace(Replace(s, "[", ""), "]", ""))

但我欢迎更多的想法和建议。


推荐阅读