在Excel中创建VBA程序的过程中,我遇到了一个似乎没有记录在任何地方(迄今为止我已经找到)的限制。使用某些特殊符号的内存分配奇怪
单元格内容限制记录在0-32767个字符,但对于字符“@”,“ - ”,“+”和“=”我无法编写VBA脚本来将这些字符添加到8192以外的单元格字符,这是足够奇怪的四分之一32768.
在调试过程中,我创建了一个单独的脚本,以尝试此操作,以避免我的程序提出有关内存分配的任何其他问题。
Function Insert()
For i = 1 To 8199
Range("J13") = Range("J13") & "@"
Next
End Function
程序符连接“@”至细胞达(且包括)8192,然后用停止“运行时错误7内存不足”错误。它似乎不是一个单元格的限制,因为一旦程序停止,我可以手动输入更多符号给单元格。
我也尝试手动输入约1000个符号之前,我启动程序,但它仍然在暂停8192
使用一个全尺寸标准的美国格式键盘的任何特殊字符标准时,不会出现此问题(除了我列出的4个之外)。
我认为这可能是由于字符编码和这些字符对应的内存要求,但我找不到任何信息,表明这四个符号的内存要求与我键盘上的任何其他标准符号不同。
有没有人有任何洞察,为什么这可能会发生,并有潜在的解决方法?
是的,奇怪的是我有时需要一个单元格填充超过8192个这些类型的字符。