0

我在 Excel 工作表中使用 RTD 公式来接收单元格 A1 中的项目列表:

=RTD("josh.rtd",,"Letters",,"Lower")

单元格 A1 中的返回列表位于大括号中,并由分号分隔。基本上,它是一个一维的行数组,看起来像这样

{“A B C D”}

如果我复制该结果,并将值粘贴到 A2 中,然后复制 A2,从电子表格的列中选择四个单元格,例如 A3:A6,然后在公式窗口中键入“=”,然后粘贴结果,

={"a";"b";"c";"d"}

我可以按住ctrl++并使用这样的数组元素填充每个单元格shiftenter

一个

b

C

d

我的问题是:有没有可以用来解析原始 RTD 公式结果的公式?我想用该数组的元素填充组合框控件。我希望能够在单元格公式或通过 VBA 中做到这一点。

4

1 回答 1

3

文档建议RTD返回一个字符串。如果是这样,以下应该能够解析它,将结果作为数组返回:

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
于 2016-10-05T00:24:41.050 回答