我想问一下是否可以检查特定区域的不一致公式。
就我而言,col D和col E包含不同的公式集。
我只想确保col E中的所有公式都是一致的。
是否可以这样做?
答案 0 :(得分:2)
这是一种方式。
假设您的工作表看起来像这样
现在将此代码粘贴到模块中并运行它。它将告诉您哪些单元格具有不一致的公式。见下面的截图
我已对代码进行了评论,以便您在理解代码时不会遇到任何问题。如果您只是问:)
Option Explicit
Sub GetInConsCells()
Dim ws As Worksheet
Dim rng As Range, cl As Range, errCells As Range
Dim ErrorCells As String
Dim lRow As Long
'~~> Create a temp copy of the sheet
ThisWorkbook.Sheets("Sheet1").Copy After:=Sheets(ThisWorkbook.Sheets.Count)
Set ws = ActiveSheet
With ws
'~~> Clear Col D and Col F Contents
.Range("D:D,F:F").ClearContents
'~~> Find the last row of col E
lRow = .Range("E" & .Rows.Count).End(xlUp).Row
'~~> Set your range
Set rng = Range("E1:E" & lRow)
'~~> Check if the cells have inconsistent formulas
For Each cl In rng
If cl.Errors(xlInconsistentFormula).Value Then
If errCells Is Nothing Then
Set errCells = cl
Else
Set errCells = Union(cl, errCells)
End If
End If
Next cl
'~~> Display relevant message
If Not errCells Is Nothing Then
ErrorCells = errCells.Address
MsgBox "Formulas in cells " & ErrorCells & " are inconsitent"
Else
MsgBox "All Formulas are consistent"
End If
End With
'~~> Delete temp sheet
Application.DisplayAlerts = False
ws.Delete
Application.DisplayAlerts = True
End Sub
答案 1 :(得分:0)
快速而实用的方法是使用另一列(暂时):
假设您要检查E列中的每个单元格是否具有公式=SUM(A1:D1)
,只需在另一列中输入公式=(SUM(A1:D1)-E1
即可。然后选择FALSE
的列和过滤器 - 这将为您提供具有不同结果的所有公式!