ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 10535|回复: 13

[求助] VBA 的占用内存一直在增加,内存不足,求大神解惑

[复制链接]

TA的精华主题

TA的得分主题

发表于 2017-5-21 22:52 | 显示全部楼层 |阅读模式
本帖最后由 mypicko 于 2017-5-22 13:55 编辑

程序已上传附件,具体的说明见说明sheet,整个跑完花掉快5个小时的时间。如果测试可以将8个Sheet1的内容都改成一样的,这样结果少,运行时间也快============================
用VBA做了一个东西,计算数据的相关性的,程序类似于:sub main()
  call fuction1
  call fuction2
  call fuction3
end sub

sub fuction1()
...
end sub

sub fuction2()
...
end sub


sub fuction3()
...
end sub


公共变量只有一个long 的,为啥运行到function2的时候占用内存一直在增加,到后面的function3,function4都是这样,内存一直耗到快2G,然后提示内存不足。
问:为啥function结束,内存不会释放掉,还是需要一些操作才能释放掉,求大神解惑指导!!!先多谢了

===========================================
我用了另一个8G内存的电脑,程序可以跑完,结果也正常,但是中间占用的内存确实太高。内存也是一直在递增的,从300多M一直缓慢增加到2.5G。问:有哪些办法可以及时释放掉已经不用的内存,解决占用内存一直递增的问题???


Data Compare v1.1.rar

1.02 MB, 下载次数: 76

TA的精华主题

TA的得分主题

发表于 2017-5-21 23:48 | 显示全部楼层
这种问题一般是程序设计问题,比如程序当中有死循环没有及时跳出,或者运行量实在是太大导致内存爆了

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-5-22 00:08 | 显示全部楼层
huang1314wei 发表于 2017-5-21 23:48
这种问题一般是程序设计问题,比如程序当中有死循环没有及时跳出,或者运行量实在是太大导致内存爆了

循环确实多了点,但是每次循环都是重新读入两个10行5列的数据找相同项,求完相同项存入10行5列的数组,然后输出,然后再循环。读入的两个数组和读出的结果数组都及时做了清空。但是占用内存一直在增加。进行到下一个function的时候,占用内存也只在原来基础上递增的。很是纳闷,为啥都没看到内存释放的迹象呢。

TA的精华主题

TA的得分主题

发表于 2017-5-22 09:11 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
发完整程序吧  你上面程序没问题

TA的精华主题

TA的得分主题

发表于 2017-5-22 09:25 来自手机 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-5-22 13:47 | 显示全部楼层
huang1314wei 发表于 2017-5-21 23:48
这种问题一般是程序设计问题,比如程序当中有死循环没有及时跳出,或者运行量实在是太大导致内存爆了

上传源程序了,帮看下,里面有说明的sheet

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-5-22 13:48 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
未忘初心 发表于 2017-5-22 09:11
发完整程序吧  你上面程序没问题

上传完整程序了,帮看下,里面有说明的sheet

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-5-22 13:48 | 显示全部楼层
liucqa 发表于 2017-5-22 09:25
数组发生内存泄露

上传完整程序了,帮看下,里面有说明的sheet

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-5-22 15:53 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-5-22 17:28 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
大神们,你们都下班了么???
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-21 17:03 , Processed in 0.045298 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表