如果单元格包含无法正确计算的公式,则单元格的值 (CellRange.Value) 属于错误类型(CellValue.IsError 属性值为 true)。若要访问有关单元格中包含的错误的信息,请使用 CellValue.ErrorValue 属性返回的 ErrorValueInfo 对象的成员。ErrorValueInfo.Type 返回指定错误类型的 ErrorType 枚举成员,ErrorValueInfo.Name 属性返回单元格中显示的错误名称,ErrorValueInfo.Description 属性返回错误的原因。
错误类型 | 错误名称 | 错误描述 | 例 |
ErrorType.DivisionByZero |
#DIV/0! | 除以零! | cell.Formula ="= 10/0" |
cell.Formula ="= A1/B2",B2 单元格为空 | |||
ErrorType.Name |
#NAME? | 函数不存在。 | cell.Formula = "= FALS" - 的公式中使用的函数名称拼写不正确。 |
cell.Formula=
"=SUM(A1B2)" - 单元格区域引用中缺少冒号 (:)。 | |||
ErrorType.NotAvailable |
#N/A | 该值不可用于函数或公式。 | cell.Formula = "= NA()" |
cell.ArrayFormula = "=SUM(A1:A5*A1:B3)" -
一个数组公式的参数是由不同数量的元素组成的数组。 | |||
ErrorType.Null |
#NULL! | 指定的交集包括两个不相交的范围。 | cell.Formula= "=SUM(A1:A5 E6:E8)" -
指定的范围不相交,因此无法计算总和。 |
ErrorType.Number |
#NUM! | 公式或函数中的数值无效。 | cell.Formula= "=SQRT(-16)" - 无法计算负数的平方根。 |
ErrorType.Reference |
#REF! | 单元格引用无效。 | 公式使用对单元格的引用,然后删除包含此单元格的列: |
cell.Formula = "=5+D2"; | |||
worksheet.Columns["D"].Delete(); | |||
ErrorType.Value |
#VALUE! | 公式中使用的值的数据类型错误。 | cell.Formula = @"= SUM(""text"", 6)" - 总和函数需要数值参数。 |
公式是指实际上不是空的空白单元格(它包含一个空字符串): | |||
worksheet["A1"].Value = ""; | |||
cell.Formula = "= A1 + 5"; | |||
若要修复此情况下的错误,请为单元格指定一个空值,如如何:清除内容、格式、超链接和注释的单元格示例中所示。 |