在Excel 2007中,工作簿名称的大小理论上只受内存限制,但实际情况并非如此。最终,保存为名称的数组会变得足够大,以至于在尝试保存时会出现以下提示:“此工作簿中的一个或多个公式大于8192个字符的限制,请保存为二进制文件。”
好吧,那么将其保存为二进制文件格式……但即使在这里,数组也可能变得足够大,使得保存文件变得不可能。
怎么回事?Excel中的名称是如何存储的,导致出现这种情况?这与安装有关吗?有没有办法解决这个问题?
使用下面的代码自行尝试。它将完美运行,并且名称将被正确填充,但保存将会给你带来一些麻烦的错误。3351个元素太多了,但3350个可以正常保存:
好吧,那么将其保存为二进制文件格式……但即使在这里,数组也可能变得足够大,使得保存文件变得不可能。
怎么回事?Excel中的名称是如何存储的,导致出现这种情况?这与安装有关吗?有没有办法解决这个问题?
使用下面的代码自行尝试。它将完美运行,并且名称将被正确填充,但保存将会给你带来一些麻烦的错误。3351个元素太多了,但3350个可以正常保存:
Public Sub TestNameLimits()
Dim v As Variant
ReDim v(1)
Dim index As Integer
For index = 1 To 3351
ReDim Preserve v(index)
v(index) = "AAAA"
Next
Call Application.Names.Add("NameLimit", v)
End Sub