Excel VBA设置动态数组公式时出现内存不足问题求助
解决Excel VBA引用命名区域时的“内存不足”问题
问题原因:你的VBA子程序名称
MyArray和命名区域名称完全重复,Excel解析公式=MyArray时,会错误地将子程序当作引用目标,而非定义的单元格区域,这种识别混淆触发了内部处理错误,导致“内存不足”提示。修复方案:
- 重命名VBA子程序,避免与命名区域同名,例如改为
WriteNamedRangeToCell - 通过「公式」选项卡的「名称管理器」确认命名区域
MyArray确实指向C3:G3单元格区域
- 重命名VBA子程序,避免与命名区域同名,例如改为
修正后的VBA代码:
Sub WriteNamedRangeToCell() Range("A1").Formula2 = "=MyArray" End Sub
额外提示:如果希望A1单元格溢出显示整个数组(自动填充A1:E1),当前写法有效;若仅需显示数组第一个元素,可修改公式为=INDEX(MyArray,1)或=MyArray#(适配Excel动态数组特性)。
内容的提问来源于stack exchange,提问作者Harry Lew
相关产品推荐
相关产品推荐

