如何确定是否已在单元格中写入公式或手动条目

时间:2014-03-05 19:39:17

标签: excel excel-vba excel-2007 excel-formula excel-2010 vba

我有一个包含公式的单元格/整个列。有时我会进入该单元格并手动将该值更改为其他值。公式消失了,手册条目正在覆盖。如何通过公式自动输入该单元格或手动输入?在条件格式或其他地方是否有一些规则或技巧可以向观众指示该单元格被覆盖或该单元格是由通用公式制定的。

一个例子......

如果公式添加了一个选定的范围并给出了一个值,那么该单元格现在是红色的。如果我在该单元格中手动输入值,则该单元格现在会看到该值并将其变为“蓝色”,因为它是手动输入的。 excel中有逻辑可以区分这个吗?感谢

1 个答案:

答案 0 :(得分:1)

<强> UPD:

1)添加UDF:

Function hasFormula(r As Range) As Boolean
    hasFormula = r.hasFormula
End Function

2)选择所有单元格并应用以下CF规则:

  • 蓝色CF(价值观):=AND(A1<>"",NOT(hasFormula(A1)))
  • 红色CF(公式):=hasFormula(A1)

对于Excel 2013 ,您可以使用内置函数ISFORMULA

选择所有单元格并应用以下CF规则:

  • 蓝色CF(价值观):=AND(A1<>"",NOT(ISFORMULA(A1)))
  • 红色CF(公式):=ISFORMULA(A1)

enter image description here

替代方式(用于高亮显示具有公式的所有单元格):

CTRL + G ,然后选择“Special ...” - &gt;“Formulas”并按“确定“。但它只是暂时突出细胞,直到你选择任何其他细胞。