我在Excel工作表中使用RTD公式来接收单元格A1中的项目列表:
=RTD("josh.rtd",,"Letters",,"Lower")
单元格A1中返回的列表采用大括号括起来,并以半冒号分隔。基本上,它是一个行的一维数组,看起来像这样
{ “一”, “B”, “C”, “d”}
如果我复制该结果,并将值粘贴到A2中,然后复制A2,从电子表格中的列中选择四个单元格,例如A3:A6,并在公式窗口中键入“=”,然后粘贴结果,
={"a";"b";"c";"d"}
我可以按住 ctrl + shift + 输入并用这样的数组元素填充每个单元格:
一
B'/ P>
C
d
我的问题是:我可以使用一个公式来解析原始的RTD公式结果吗?我想用该数组的元素填充一个组合框控件。我希望能够通过细胞配方或通过VBA来做到这一点。
答案 0 :(得分:2)
This文档表明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