今天在做一个多条件求和的时候, 用到了Excel的数组公式, 于是乎, 遇到了一个巨牛的问题
VBA写数组公式, 提示"不能设置类range的formulaArray属性", 这是个什么问题???
首先想到的就是, 公式写错了, 于是就检查, 果然写错了, 呵呵, 粗枝大叶了, 修改完后再次运行, 问题依旧, 这又是怎么回事?
这次下断点, 拿到公式字符串之后, 直接放Excel公式栏里, CTRL+SHIFT+ENTER, 奇迹发生了, 没有提示错误, 并且返回了正确结果, 这个问题, 牛就牛在这里了, 普通人想不到, 鉴于我是个普通人, 所以我就是没有想到. (先让我再废话下, 答案就在最后)
想到的方法, 就是录制宏了, 呵呵, 不知道是不是我思维比较奇怪哈~~
录制完毕, 运行... 居然还是提示"不能设置类range的formulaArray属性", 这不是神了嘛~~ VBA就这么弱撒, 还能产生这种错误(是VBA弱还是Excel弱????)
想不出来, 只好瞎捣鼓, 捣鼓了半天, 一不小心发现了新大陆, 注意了,
我把公式删掉了一段, 只剩一个条件, 运行, 通过; 没个条件都试了, 都通过. 这也该啊, 本来就是宏录制的嘛! 那还能怎么搞? 难道公式太长了, Excel消化不了? 看来 也只能是这个问题了.
我是不是说了太简单了? 大家看到这里还没发现问题的解决方法?
注意, 这个问题没办法解决, 只能想办法缩短公式长度, 当然, 你能换公式的话, 也就更好了哈~~
附上文件, 大家看看, 宏1 可以运行, 宏2可以运行, 宏3运行失败
转载于:https://blog.51cto.com/kaliking/342366