在Excel中parsingRTD返回的数组

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

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

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

{“A B C D”}

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

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

我可以按住Ctrl + Shift + Enter,并使用数组的元素填充每个单元格,如下所示:

一个

b

C

d

我的问题是:是否有一个公式可以用来parsing原始RTD公式结果? 我想用该数组的元素填充combobox控件。 我希望能够做到这一点无论是在单元格公式或通过VBA。

本文档build议RTD返回一个string。 如果是这样,以下应该能够parsing它,返回结果为一个数组:

 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