vb.net – 无法将公式分配给Excel中的单元格范围

前端之家收集整理的这篇文章主要介绍了vb.net – 无法将公式分配给Excel中的单元格范围前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
项目中的其他人的代码,我正在努力修复.

listO.Range(i,j).FormulaR1C1 = FormulaMatrix(i,j)

其中FormulaMatrix(i,j)始终是String值.无论随机/测试值是什么,我尝试使用,成功分配,除非它是一个公式,例如.

= IF(LENGTH([@单位])大于0; [@ SalesAmount两个] – [@ DiscountAmount] 0)

如果我删除公式开头的=符号,它会被正确分配,但是它没用,因为它不是公式.

@Units,@ SaleAmount,@ DiscountAmount是列的引用/名称.

因此,在分配公式时,我得到一个异常HRESULT:0x800A03EC.我查了in this answer以获得解释并遵循其中的一些说明.我确定我的问题如下:问题是由于在单元格中输入的函数而发生的,并且它正在尝试更新另一个单元格.

检查了this post.我尝试了很大的不同(比如只是把公式没有=然后再次运行并放上等号),但同样的问题.

我对如何处理这个问题一无所知.

错误可能来自您当前的数据,分别是工作表的布局.我建议你在分配公式之前检查listO.Range(i,j).FormulaR1C1中的内容.

我有一个案例,其中范围已经有错误的数据里面,然后奇怪的是,我不知道为什么,我不能分配新的公式.

如果是这种情况 – 尝试清除范围的值,然后分配公式:

listO.Range(i,j).FormulaR1C1 = ""
listO.Range(i,j)

猜你在找的VB相关文章