用于检查单元格内容的Excel公式

dow*_*tch 8 excel vba excel-vba excel-addins

我试图在运行时(huzzah)为加载项(双huzzah)创建一些条件格式,并且发现显然某些函数不能像在普通工作表中那样使用.(当我尝试创建引用我可以在单元格中调用的VBA函数的CF时,我只得到一个无效的过程调用错误5,即使它在加载项而不是工作簿中;我可以使用内置函数创建CF罚款在函数中.)我发现最清楚的确认是在这里,但它并没有真正解释问题是什么; 这是深奥的部分,我希望能够更多地了解我对此的期望.

橡胶与道路部分是:我可以完全避免使用VBA,并使用一系列仅限Excel的内置函数来验证给定单元格是否包含常量(即用户输入的值),公式(即某种计算,逻辑运算等 - 几乎以=)或链接(即对另一个工作表或另一个工作簿中的单元格的引用)开始?我知道Excel有这个决心触手可及; 见证GoTo/Special的用途和速度.如何得到它虽然?

在此先感谢您的帮助.

小智 1

针对 Excel 2013 进行了更新:

\n

对于 Office 版本 2013 及更高版本,ISFORMULA \xc2\xb9 函数可用。将此与NOT函数、AND函数以及COUNTBLANKISBLANKLEN组合函数相结合可以生成一个公式来确定单元格是否包含常量。

\n

E2:F2 中的标准公式是,

\n
=ISFORMULA(D2)\n=AND(NOT(ISFORMULA(D2)), LEN(D2))\n
Run Code Online (Sandbox Code Playgroud)\n

\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0ISFORMULA_更新

\n

如果需要有关单元格值性质的更多信息,可以使用TYPE 函数来确定单元格内容是数字、文本、布尔值、错误还是数组。

\n

当协同使用时,此处讨论的本机工作表函数可以重现 VBA 的Range.SpecialCells 方法及其xlCellTypeConstantsxlCellTypeFormulas xlCellType 枚举可用的结果。

\n
\n

\xc2\xb9 ISFORMULA函数是在 Excel 2013 中引入的它在早期版本中不可用。

\n

\n