如何确定单元格公式是否包含常量?

问题描述 投票:1回答:3

[在工作时调试或质量检查Excel报告时,我发现问题是由于公式中的文本被硬编码。我听说这是一个常数和公式的混合单元格。

这里是我所见的例子。

常量= 100

常量= Facility

公式单元格=INDIRECT(ADDRESS(5,MATCH($A7&$B7&C$2,Data!$4:$4,0),,,$A$2))

混合单元格=INDIRECT("Data!"&ADDRESS(5,MATCH($A7&$B7&C$2,Data!$4:$4,0)))

"Data!"是混合单元格中的常数,在这种情况下为图纸名称。如果该工作表名称发生更改,则公式将中断。我发现并且正在使用两种条件格式来突出显示作为常量的单元格和使用此"Identify formulas using Conditional Formatting"的公式的单元格。我需要想出一种方法来格式化公式中包含这些常量的那些单元格。

我有found this question,并尝试使用=IF(COUNT(SEARCH(CHAR(34),A1,1)),TRUE,FALSE)FIND()来查看是否可以检查单元格中是否包含双引号,但SEARCH()返回FALSE,因为它正在查看单元格的值而不是内容。如果单元格包含TRUE,则返回"Constant",但是如果它是公式,则返回FALSE,例如单元格包含="Constant"

如何在整个工作表或工作簿的公式内找到常量?

编辑*

感谢下面的Sidd的代码,我在模块中创建了一个函数,可以在条件格式中使用该模块,以至少突出显示单元格中包含引号的单元格。

Function FormulaHasQuotes(aCell)

  If InStr(1, aCell.Formula, """") Then
      FormulaHasQuotes = True
  Else
      FormulaHasQuotes = False
  End If

End Function

““ >>

[在工作时调试或质量检查Excel报告时,我发现问题是由于公式中的文本被硬编码。我听说这是常量和公式的混合...

excel excel-vba excel-2007 excel-formula vba
3个回答
1
投票

假设您的工作表如下所示。


0
投票

仅经过非常轻松的测试...


0
投票

感谢蒂姆...非常有用。用户通过添加常量来修改公式时遇到了问题,因此我认为突出显示这些单元格会很有用。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.