1

在此处输入图像描述

如上所示,我有两列。当用户输入一行并且列工资的总和大于 1000000时,如何显示警告框?

4

3 回答 3

2

如果您未绑定到 VBA,则可以使用Data Validation. 在 Excel 2007 中,选择您的工资范围(假设列B),在功能区中单击Data并选择Data Validation。从那里输入以下公式:

=B:B<1000000

每当您输入一个使列的总和 > 1000000 的值时,这都会引发错误。如有必要,您还可以自定义错误:

在此处输入图像描述

于 2013-01-07T06:56:11.133 回答
1

这是对单个单元格执行此操作的方式,此代码需要位于该特定工作表的 vba 页面中,而不是模块中。我相信您可以对其进行调整以适应您的范围。

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Not Intersect(Range("A1"), Target) Is Nothing Then 
        If Range("A1").Value > 1000000
            MsgBox "A1 is greater than 1000000, ALERT! ALERT! ALERT!"
        End If 
    End If 
End Sub 

但非 VBA 解决方案,如条件格式或 @RocketDonkey 建议的其他数据验证是一个更好的主意。

于 2013-01-07T06:55:36.793 回答
1

假设“薪水”在 B 列。

Private Sub Worksheet_Change(ByVal Target As Range)
Total = Application.WorksheetFunction.Sum(Columns("B:B"))
If Total >= 1000000 Then
MsgBox "My message", vbCritical, "Error"
End If
End Sub
于 2013-01-07T07:34:09.003 回答