上記のように2つの列があります。ユーザーが行を入力し、列の給与の合計が1000000を超えた場合に、アラートボックスを表示するにはどうすればよいですか?
質問する
2205 次
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
ただし、条件付き書式設定や @RocketDonkey のようなデータ検証などの非 VBA ソリューションは、より良いアイデアです。
于 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 に答える