Foxtable(狐表)用户栏目专家坐堂 → Excel报表通过VBA方式生成效率很低


  共有2282人关注过本帖树形打印复制链接

主题:Excel报表通过VBA方式生成效率很低

帅哥哟,离线,有人找我吗?
luodang2050
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
Excel报表通过VBA方式生成效率很低  发帖心情 Post By:2018/12/20 9:57:00 [只看该作者]

如题,为了更加智能灵活,参考Excel与VBA,编写了通用excel报表导出,发现比用FT集成方法效率低很多,是为什么呢?VBA,编写了通用


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/20 10:01:00 [只看该作者]

foxtable生成报表的时候,不是用vba,而是用xls.book

 

这种方法打开处理excel比较快,但是会丢失很多东西。用vba确实是比较慢,特别是是使用 ws.cells 的时候,所以尽量少使用 ws.cells 的引用比较好。


 回到顶部
帅哥哟,离线,有人找我吗?
luodang2050
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2018/12/20 10:23:00 [只看该作者]

批量导出数据,肯定需要批量调用ws.cells进行赋值,怎么赋值方式会比较快?或者xls.book完整语法规则哪有呢?几十行数据都要20秒以上,效率实在低、
或者通常的做法,是先用xls.book进行基本赋值,然后用vb打开进行特殊处理?
[此贴子已经被作者于2018/12/20 10:25:29编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/20 10:41:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
luodang2050
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2018/12/21 9:16:00 [只看该作者]

已解决数据导出效率问题,谢谢。但另外为了便于导出后数据的美观,需要单行偶行分别设置不同的样式,每一行不同数据类型又需要设置不同的样式,怎么设置效率才高呢?样式的设置可以参考二维数组整体赋值么?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/21 9:29:00 [只看该作者]

以下是引用luodang2050在2018/12/21 9:16:00的发言:
已解决数据导出效率问题,谢谢。但另外为了便于导出后数据的美观,需要单行偶行分别设置不同的样式,每一行不同数据类型又需要设置不同的样式,怎么设置效率才高呢?样式的设置可以参考二维数组整体赋值么?

 

设置条件格式吧

 

https://jingyan.baidu.com/article/f3e34a128536b7f5eb6535a5.html

 

也可以,通过【录制宏】看对应生成的代码是什么,改写到foxtable里面


 回到顶部
帅哥哟,离线,有人找我吗?
luodang2050
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:586 积分:5685 威望:0 精华:0 注册:2014/5/21 10:30:00
  发帖心情 Post By:2018/12/21 9:36:00 [只看该作者]

好思路,比直接预定设置每个单元格样式效率多了,谢谢

 回到顶部