excel - 将字符串评估为数组
问题描述
我正在使用这样的一行来将变量 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
解决方案
我可以解决这个问题
s = "[{""From"",""To"";1,2;2.5,3.5;3.5,5;5.7,7}]"
a = Evaluate(Replace(Replace(s, "[", ""), "]", ""))
但我欢迎更多的想法和建议。
推荐阅读
- java - 无法从 Twilio 请求中提取正文
- apache-spark - 基于流的应用程序中的受控/手动错误/恢复处理
- python - 为什么列表的(深)副本比原始列表消耗更多内存?
- bash - macOS launchd 可以运行 bash 脚本吗?
- java - 从提供的列表之一中获取非重复值
- javascript - 将 HTML Canvas 坐标系转换为笛卡尔坐标系
- android - 为预安装的应用程序设置初始 shared_prefs?
- etl - 数据集编写器失败
- javascript - 滚动后暂停或停止 Instagram 嵌入视频
- ruby-on-rails - rake db:setup 未加载库:@rpath/libgssapi_krb5.2.2.dylib 错误