消息框如果单元格超过另一个单元格

时间:2012-12-19 17:50:27

标签: excel vba excel-vba

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

N列包含总额(手动输入)

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

如果计算后的R列中的单元格小于或大于N列中的单元格,则会弹出消息框,并说“总结果小于appts#”或“总结果大于appts#”。 p>

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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的手动输入还是工作表上的任何其他内容)
  • 确定哪个更大
  • 弹出相应的消息
相关问题