以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  [求助]怎样改这个公式为循环公式运行啊?  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=1947)

--  作者:楚风
--  发布时间:2011/9/14 0:16:00
--  [求助]怎样改这个公式为循环公式运行啊?
[这个贴子最后由楚风在 2011/09/14 00:17am 第 1 次编辑]

又要请教各位老师了,易表循环公式如何运用啊?如下段公式:Move(1,11) And if(row=1,[报账金额] - [支出],EvalFor("现金账","余额","[报账金额] + cell(row-1,""余额"") - [支出]")) And Move(2,11)And if(row=1,[报账金额] - [支出],EvalFor("现金账","余额","[报账金额] + cell(row-1,""余额"") - [支出]"))And Move(3,11)And if(row=1,[报账金额] - [支出],EvalFor("现金账","余额","[报账金额] + cell(row-1,""余额"") - [支出]"))And Move(4,11)And if(row=1,[报账金额] - [支出],EvalFor("现金账","余额","[报账金额] + cell(row-1,""余额"") - [支出]"))
请教的问题是:
1、把以上公式改为循环运行的公式,要怎样写公式呢?再谢了!!
--  作者:lyang70
--  发布时间:2011/9/14 9:17:00
--  
这个公式没必要写循环公式,楼主的想法是通过移动行再对指定的行/列进行计算,可EvalFor就是针对某列的计算,所以没有必要。
就你的语法组织来看,这个公式楼主是想放在按钮中吧?这个肯定不行,应为if(row=1,[报账金额] - [支出],EvalFor...中红色标记部分就不成立。
如果硬要循环执行的话,可以这样:Move(1,11) And Loop("2 > 1","SetCellText(GridName,Row,""余额"",If(Row = 1,[报账金额] - [支出],[报账金额] + Cell(Row-1,""余额"") - [支出])) And Move(Row+1,11)",Rows)
--  作者:ZM296514
--  发布时间:2011/9/14 11:03:00
--  
“余额”列用刷新公式得不?
If(Row = 1,[报账金额] - [支出],[报账金额] + Cell(Row-1,"余额") - [支出])
--  作者:楚风
--  发布时间:2011/9/14 14:11:00
--  
谢谢啦,主要是因为我在刷新公式用时是可以达到目的,但放到按钮里第一行就不会达到效果,而其它行正常用。不知为什么?
--  作者:lyang70
--  发布时间:2011/9/14 14:37:00
--  
如果第一行不能执行可以通过操作公式干预执行...
--  作者:还不错
--  发布时间:2011/9/14 15:42:00
--  
舍简求繁。
--  作者:楚风
--  发布时间:2011/9/14 16:20:00
--  
谢谢啦,我提了两个问题,在另一个问题的解答中,已很简捷的解决了以上的要求,谢谢啦。有您好们的帮助,工作顺利完成,从中也体会到了乐趣,更感受到相隔天涯,虽不谋面,却一股股暖流遍及论坛。感谢谢您们的热情帮助!!!!