蓝天请进,公式填充报错

yjs_lh 2003-03-31 04:08:04
用CELLWEB5打开一个带公式的文件,然后用程序判断某一单元格是公式(IsFormulaCell(...) >0 )后,调用
Cell.SelectRange(... );
Cell.FormulaFillSerial;
会报错“必须有公式的单元格才能被填充。”。
事实上,选中区域的左上角单元格肯定是公式(因为程序已经判断过)。
如果将这个单元格的公式重新编辑一下(或者直接双击后取消),这个问题又不会出现了。

另外提个建议,出错时能不能抛个异常出来,而不是弹出一个对话框。因为如果程序在后台运行,那就死在那里了。
...全文
38 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cell 2003-04-15
  • 打赏
  • 举报
回复
目前这个功能实现不了,您只能使用公式填充来实现。
yjs_lh 2003-04-15
  • 打赏
  • 举报
回复
SETFORMULA方法只会单纯地将分式原封不动地拷贝到另一个单元格。我需要的是公式会随单元格的变化而变化(CELL的相对公式转到Excel时不行,所以不能用GetCELL()一类的公式,而且用户也掌握不了)。

Cell 2003-04-02
  • 打赏
  • 举报
回复
您好:
公式写的话直接用SETFORMULA方法循环的设置就可以了。
yjs_lh 2003-04-01
  • 打赏
  • 举报
回复
要用程序写。手式填充是不会有问题的。
Cell 2003-04-01
  • 打赏
  • 举报
回复
我看过了,没有这个问题啊。
是不是公式填错了?
yjs_lh 2003-03-31
  • 打赏
  • 举报
回复
这个问题不知各位是否遇到过。
如果在运算前对单元格进行了选择且选中的单元格不是有公式的单元格,一样会报错。
yjs_lh 2003-03-31
  • 打赏
  • 举报
回复
好啦。我已解决。
先要调用Cell.ClearSelection();但这也是一个问题。希望改进呀。
yjs_lh 2003-03-31
  • 打赏
  • 举报
回复
其实问题是这样的:如果当前选中的单元格不是有公式的那个单元格,就会有问题。
也就是说,实现FormulaFillSerial的代码中,判断是否有公式的单元格是通过
Cell.GetCurrentCol和Cell.GetCurrentRow取得的。
请将它改为
Cell.GetSelectedRange()即可。

249

社区成员

发帖
与我相关
我的任务
社区描述
其他产品/厂家
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧