在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個這些類型的字符。