airscript 对多列空单元格判定并填充,for循环提速问题

如题,判断的行超过3000,大约15列需要判定是否为空并填充公式,然后每行每列的空单元格是不确定的 之前用for循环,经常反馈超时停止 目前代码大概如下,for循环i,为行数,if判断Ai Bi Ci单元格是否为空,为空则赋值 for() { if为空{} if为空{} if为空{} if为空{} if为空{} …… } 请教有没有更好的方法
北京
浏览 244
收藏
5
分享
5 +1
10
+1
全部评论 10
 
EnterZero
EnterZero

创作者俱乐部成员

这应该不是FOR循环体量大的原因,可能是和你的填入公式计算量大有问题,我给你说个思路,你试试,你可以试试填入文本公式,在for循环后将文本公式替换为正常公式,这个时候代码是已经运行完了 时间也是在服务端计算时间过长而已,不影响你的代码运行
· 四川省
回复
EnterZero
EnterZero

创作者俱乐部成员

或者关闭自动重算功能 循环结束开启自动重算,https://bbs.wps.cn/topic/45679可以参考这个帖子对于优化公式运行速度的处理
· 四川省
1
回复
 
狼狼
补充一下,之前尝试过用筛选之后填充,参考了官方文档,但是发现2.0的筛选结果很奇怪,用不了;1.0筛选能成功,用官方文档的方法填充颜色也能成功,但是把填充颜色变成值之后,非筛选单元格也会有值,加上必须要用formula2,最后改成了for循环qwq
· 北京
回复
 
聂道强
聂道强

@金山办公

用AirScript2.0试试
· 广东省
回复
狼狼
就是2.0
· 北京
回复
 
E精精
E精精

WPS函数专家

这个量级一般不至于太卡,应该是公式计算列比较大,3000*15 = 45000个公式,这个有点大~
· 江苏省
回复
狼狼
是的,公式里本身很多判定,我现在的方法是把一部分列公式不会有修改的改成整列填充了,但是还有很多列,公式有时候会要手动加减的,必须判定着写
· 北京
回复