我想咨询一个相关问题。如果我想比较现有公式值和新输入值,我该如何编辑 VBA 公式。并显示公式值和新输入值的最大值。
非常感谢您的帮助。非常感谢。
答案1
根据您最初的要求:如果 A2 和 A3 都有数值,那么 A4 将填充它们的和。如果它们是非数字或为空,那么 A4 将显示错误。如果 A4 被覆盖,那么该值将永久存在,直到 A2 或 A3 再次被更改。添加新要求:如果 A2 和 A3 为 A4 产生了一个好的和,并且有人用新的数值覆盖了 A4,那么您希望在 A2+A3 和 A4 之间取最大值。我认为这应该显示在单元格 A5 中。
补充一下原答案:
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Not Intersect(Target, Range("A2:A3")) Is Nothing Then If WorksheetFunction.Count(Range("A2:A3")) = 2 Then Range("A4").Formula = "=A2+A3" End If ElseIf Not (Intersect(Target, Range("A4"))) Is Nothing Then 'Check for numbers in a2, a3, and a4 If IsNumeric(Range("A2").Value) And IsNumeric(Range("A3").Value) And IsNumeric(Range("A4").Value) Then 'If a2+a3 is greater than a4 If Range("A2").Value + Range("A3").Value > Range("A4").Value Then 'set the sum of a2 and a3 to cell a5 Range("A5").Value = Range("A2").Value + Range("A3").Value Else 'set the value of cell a4 to cell a5 Range("A5").Value = Range("A4").Value End If End If End If End Sub