今天花了两个多小时查一个看着有点吓人,但是并不影响结果的错误。毕竟那个错误的名字叫out of memory,像我神经那么大条的,都不敢忽略。
然而过程是曲折的,答案是无趣的。。。但应该是个普遍容易忽视的问题,特此记一笔。
症状:
程序也不大,逐步debug,每次到end sub或exit sub那里,就报个out of memory...
大概原因:
犯懒,迁移以前写的vba代码,打开旧的xlsm复制代码来到新文件后,虽然关掉了旧的xlsm,但是那个vba工程还是开着的。于是乎,因为很多对象名字啊sub啊都设的一样(包括sheet名,因为懒)运行新程序结束时,貌似旧程序也跟着在底下跑,或者也可以说旧的xlsm没有被完全关掉,新程序还是跑去了旧的xlsm。
解决方案:
先全部关掉,再独开那个新的。重启试试的味儿挺浓~~
其实我也想找到根源,但是就算我把新工程的module名,sub名,sheet名,都改的和老的不一样,照样out of memory。目前也就只能停留在解决 但是无法说出内存安排上到底哪里不对。