在工作中调试或质量检查 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!"
是混合单元格中的常量,在本例中为工作表名称。如果该工作表名称发生更改,则公式将中断。我发现并正在使用两种条件格式来突出显示常量单元格和使用此“使用条件格式识别公式”的公式的单元格。我需要想出一种方法来格式化那些在公式中包含这些常量的单元格。
我找到了这个问题并尝试使用=IF(COUNT(SEARCH(CHAR(34),A1,1)),TRUE,FALSE)
andFIND()
看看我是否可以检查一个单元格内部是否有双引号,但是 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