使用VBA查找并更正所有不一致的列公式
我有一个Excel工作簿,每个工作表有5个工作表,有一个表值。 然后删除一些行(使用VBA)取决于用户select(使用下拉列表)。 我的VBA代码删除后,所有不必要的行Excel指出,我有“不一致的列公式”,我想用VBA解决之前,用户看到它。
有没有办法用VBA做到这一点?
我search了整整一天的Google,但仍然没有发现任何有用的东西,我脑海中唯一想要的就是遍历所有具有公式的行和列,检查公式是否包含错误,这肯定会超级慢…
注意:如果这是通过VBA在Excel中查找不一致公式的重复,那么对不起,但是唯一的答案是不能用作数据范围的表
如果试图重置Table
的公式,则可以使用DataBodyRange.Formula
属性重置整个列的公式。 这解决了获取Inconsistent Calculated Column Formula
一种方法。
通过设置列的公式,更改一个单元格,然后告诉Excel在编辑之后不更改公式列来获取错误的示例。
要将其恢复为列公式(并删除错误),可以运行更改DataBodyRange
公式的DataBodyRange
。
代码改回来
Sub ResetTableColumnFormula() Dim listObj As ListObject For Each listObj In ActiveSheet.ListObjects listObj.ListColumns("b").DataBodyRange.Formula = "=[@a]" Next End Sub
请注意,通过迭代所有ListObjects
而不是使用表名来获取引用,我有点懒惰。 这是可行的,因为Worksheet
Table
上只有一个Table
。
该代码运行后的公式:
请注意,这个答案和这里的答案非常相似。