在Excel公式中,您可以使用=ISERR(A1)=ISERROR(A1)
在VBA宏中,您可以使用IsError(sheet.Cells(1, 1))
但是,在使用VSTO Excel Addin项目时,我没有在Microsoft.Office.Interop.Excel API下找到类似的功能。我只想知道单元格中是否有错误,我对错误的类型并不真正感兴趣。

我当前的解决方法是对所有现有的错误消息执行此操作:

if (((Range)sheet.Cells[1, 1]).Text == "#N/A" || ...)

有一个更好的方法吗。 API中是否有简单的功能?

最佳答案

您可以使用WorksheetFunction方法:

Globals.ThisAddIn.Application.WorksheetFunction.IsErr(...)

或者
[Your Excel Object].WorksheetFunction.IsErr(...)
IsErr在语义上与Excel工作表函数相同,只是在实际值-AFAIK中传递了单元格引用。

关于c# - 如何知道单元格在C#中的公式中是否有错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2424718/

10-13 03:52