。如何更改单元格的显示名称,但保留公式

问题描述:

我有一些代码,这些:。如何更改单元格的显示名称,但保留公式

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?是否正确?这是在识别功能时显示的Excel错误代码。你无法压制这一点。

可能工作的'肮脏的技巧'之一是隐藏信息。检测单元格的背景颜色,并更改字体颜色以匹配背景。除非单元格突出显示(不只是选中),否则实际上会隐藏#NAME?错误信息。处理完= FR函数并返回结果后,您可以将字体颜色重置为之前的效果,以便可以看到答案。

+0

我实际上想更改显示名称,而不是隐藏它。任何你认为这可以在公式不变的情况下完成的方式? – Billy 2010-01-05 03:13:34

+0

@比利,你不能改变显示名称,这是一个内置的Excel错误信息。你在帖子中提出的问题的答案是:不,没有办法做到这一点。 filiprem有你的问题的实际解决方案。 – Stewbob 2010-01-05 14:08:07

我认为你得到了这个颠倒。

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

搜索谷歌或MSDN的user defined function Excel C# - 有工作的例子。