Excel / Visual Studio / C#。 如何更改单元格的显示名称,但保留公式

我有一些代码,那些:

void mActiveSheet_Change(Microsoft.Office.Interop.Excel.Range Target) { if (Target.Cells.Formula.ToString().StartsWith("=FR(")) .... } 

所以每当有人使用我的自定义函数“= FR”,我可以处理它。

这很好,但是该单元格的公式值是正确的,显示值是“#NAME?”。

我认为这是因为Excel不能识别= FR是什么。

有没有办法可以改变显示名称,但不是公式,所以我可以有其他的东西“#NAME?”。 显示?

我试过Target.Cells.Value2 =“Boo”; 但是这也改变了公式

我想你倒过来了

真正的目标是不隐藏#NAME? 错误; 目标是创build自己的函数,可以像SQRT()或ABS()那样将其插入到Excel中。

search谷歌或MSDN user defined function Excel C# – 有工作的例子。

你对#NAME是否正确? 这是Excel函数无法识别时显示的错误代码。 你不能压制这一点。

其中一个可能起作用的“诡计”是隐藏信息。 检测单元格的背景颜色,并更改字体颜色以匹配背景。 除非单元格突出显示(不只是选中),实际上,隐藏#NAME? 错误信息。 处理完= FR函数并返回结果后,可以将字体颜色重置为之前的值,以便可以看到答案。