如何从Excel中的VBA函数返回一个长string?

我在Excel中定义了以下函数:

Function LongString() Dim i As Integer Do LongString = LongString & "X" i = i + 1 Loop Until i > 40000 End Function 

这会导致错误: #VALUE!

看来,最大string长度限制为32768?

如何得到这个工作?

谢谢大家的支持。 我的解决scheme是将我的function分成几个小于32768个字符的单元格。

根据微软的32767长度限制是在他们的规格(见这里 )。

单元格内容长度(文本):“32,767个字符,单元格中只显示1,024个,在编辑栏中全部显示32,767个。

因此,您将获得更多的唯一方法是将string拆分为多个单元格。

您的LonsString函数返回一个variables/可变长度string,其中可以包含最多2 ^ 31(约20亿)个字符。

不过,正如@Jon所提到的,单元格最多只能包含32767个字符。 (改变我的数据types来certificate点)。

如果你扩展你想用LongString实现的function,我们可能会提供一些select

Excel在每个单元中允许超过32 k。 我有一个奇怪的情况,我有一个34743字节的string单元格,我处理string,但无法返回超过32K。 所以问题在于价值的回报,而不是单元格的最大尺寸。

注意Excel 2013,2003年的限制是32k。 但是,即使在Excel 2013中,vba代码仍然只能返回32k。M $罕见的错误。