解析从 Excel 中的 RTD 返回的数组
Parse an array returned from RTD in Excel
我在 Excel 工作表中使用 RTD 公式来接收单元格 A1 中的项目列表:
=RTD("josh.rtd",,"Letters",,"Lower")
单元格 A1 中返回的列表位于花括号中,并以分号分隔。基本上,它是一个一维行数组,看起来像这样
{"a";"b";"c";"d"}
如果我复制该结果,并将值粘贴到 A2 中,然后复制 A2,select 电子表格中一列的四个单元格,例如 A3:A6,然后键入“=”在公式 window 中粘贴结果
={"a";"b";"c";"d"}
我可以按住 ctrl+shift+enter 并填充每个单元格使用这样的数组元素:
a
b
c
d
我的问题是:是否有可用于解析原始 RTD 公式结果的公式?我想用该数组的元素填充组合框控件。我希望能够在单元格公式中或通过 VBA.
执行此操作
This 文档建议 RTD
returns 一个字符串。如果是这样,下面应该能够解析它,将结果作为数组返回:
Function ParseArray(ArrayString As String) As Variant
Dim s As String
s = Replace(ArrayString, "{", "")
s = Replace(s, "}", "")
s = Replace(s, """", "")
ParseArray = Split(s, ";")
End Function
我在 Excel 工作表中使用 RTD 公式来接收单元格 A1 中的项目列表:
=RTD("josh.rtd",,"Letters",,"Lower")
单元格 A1 中返回的列表位于花括号中,并以分号分隔。基本上,它是一个一维行数组,看起来像这样
{"a";"b";"c";"d"}
如果我复制该结果,并将值粘贴到 A2 中,然后复制 A2,select 电子表格中一列的四个单元格,例如 A3:A6,然后键入“=”在公式 window 中粘贴结果
={"a";"b";"c";"d"}
我可以按住 ctrl+shift+enter 并填充每个单元格使用这样的数组元素:
a
b
c
d
我的问题是:是否有可用于解析原始 RTD 公式结果的公式?我想用该数组的元素填充组合框控件。我希望能够在单元格公式中或通过 VBA.
执行此操作This 文档建议 RTD
returns 一个字符串。如果是这样,下面应该能够解析它,将结果作为数组返回:
Function ParseArray(ArrayString As String) As Variant
Dim s As String
s = Replace(ArrayString, "{", "")
s = Replace(s, "}", "")
s = Replace(s, """", "")
ParseArray = Split(s, ";")
End Function