0

如果一个单元格中的值小于或大于另一个单元格 - 然后显示差异,那么编写 VBA 代码以弹出消息框的最佳方法是什么?

N 列包含总应用程序(手动输入)

R 列包含总结果(生成的公式)

如果计算后 R 列中的单元格小于或大于 N 列中的单元格,则会弹出消息框并显示 Total results is less than appts by # 或 Total results is greater than appts by #。

4

2 回答 2

1

将以下例程添加到 VBA 项目中所需的工作表(例如 Sheet1)

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target = Range("N1") Or Target = Range("R1") Then 'Only attempt to run the below code if target is a range you care about

        If Range("R1").Value2 <> Range("N1").Value2 Then
            MsgBox "Values differ"
        End If

    End If

End Sub
于 2012-12-19T22:48:18.057 回答
0

假设您想将两个单元格相互比较(而不是一整列单元格):

Private Sub Worksheet_Change(ByVal Target As Range)

    If Range("N1") > Range("R1") Then
        MsgBox "Oops. Results less than Input by " & Abs(Range("N1") - Range("R1"))
    End If

    If Range("N1") < Range("R1") Then
        MsgBox "Oops. Results greater than Input by " & Abs(Range("N1") - Range("R1"))
    End If

End Sub

这应该实现以下目标:

  • 每当工作表发生变化时,将两个单元格相互比较(无论是 R1 的公式生成值、N1 的手动输入还是工作表上的任何其他内容)
  • 确定哪个更大
  • 弹出适当的消息
于 2016-06-14T15:53:23.587 回答