作者:乔山办公网日期:
返回目录:excel表格制作
你可以用executeexcelmacro4 来设置,会快很多
是不是因为数据量大而且里面有很多公式啊?你可以通过直接百打开Excel程序:开始--程序--Microsoft Office--Excel2007(不是双击度Excel文档)来判断这个问题
如果不是,那说明你的Excel在设置和选项里有问题;
如果是的确因为文档比较复问杂,那就建议在通过上述方式运行了Excel2007(他会自己建立一个空白文档)后,在菜单-选项-公式 里,把自动重算改为手工重算。
这答样可以避免文件在每次打开、输入数据、存盘时的自动计算,从而节约时间,避回免很多等待。当然在你修改了数据后,你答需要手动重算一次。一般这也是大数据处理时的标准做法。
因为你大量使用VLOOKUP去查数据导致了速度慢,应该zd把VLOOKUP查找的内容建立一个字典存在内存里面,以后成千上万次检测某数据是否在里面的时候,可以瞬间获得查询结果。
另外,你这样的程序会写得长,因为你CASE每个月份都要写一段代码,一般的做法是把各月份的数据都存放在一个字典里面。
此外,逐一单元格填写影响速度,专可以使用数组统一获取内容、更新后填回去,这样可以进一步减少一些时间。
如果需要代劳修改代码,请【百度云盘】(一个使用百度账户登录的可以对话和传送文件的应用)加友私下传文件,直接在属文件上修改。
1、使用application.screenupdate,先关闭屏幕更新,结知束时打开;使用application.EnableEvents,先关闭事件的触发,结束时再打开2、楼上金融系统说的很好,使用SpecialCells选择方法,可以剔除许多不需要的数据3、尽量少使用单元格直接参与计算,多使用变量和数组道变量,先将数据读入变量或数组变量,对变量进行运算4、将单元格区域分块,比如,可以先读取一列,复制给数组,处理完了,再将数组的值一次性赋值给其他单元格,然后再将下一列读到这个数组……5、尽量减少代码中的select、activate、等没什么用的动作,直接使用“.”点符号取值或赋版值6、尽量使用with语句,减少对象的读取动作7、暂时想到这么多,……最重要的一点:优化算法,减少循环次数,这就得看你的具体操作是什么了……这都是我的经验啊,何况打了这么多字,楼主不但要采权纳,还得加分啊~~~