东东版主过奖了。
楼主公式中的条件是很有规律的,所以用Eval解决的确是很轻松的事,下面公式未经测试,不过应该和楼主的没有什么差异。(比原公式减少3500个字符)
SetVariable("%资源进度格A%",0) And SetVariable("%资源进度格B%",0) And SetLabel("@系统资源提示@","正在检查…") And Eval("If(["+Substitute(ListGrids(),"|","!Rows]>0,SetVariable(""%资源进度格A%"",[%资源进度格A%]+1),true) And SetVariable(""%资源进度格B%"",[%资源进度格B%]+1) And SetLabel(""@系统资源@"",Rept(""■"",[%资源进度格B%])) And If([")+"!Rows]>0,SetVariable(""%资源进度格A%"",[%资源进度格A%]+1),true) And SetVariable(""%资源进度格B%"",[%资源进度格B%]+1) And SetLabel(""@系统资源@"",Rept(""■"",[%资源进度格B%]))") And SetLabel("@系统资源@",Rept("■",([%资源进度格A%])/25*13)) AndSetLabel("@系统资源值@",Text([%资源进度格A%]/25*100)+"%") And SetLabel("@系统资源提示@","已经使用 ↓")