请帮助我更正以下 Excel 2007 的 VBA 代码。有人在适合我需要的论坛之一中为我提供了此代码。但是我在运行这段代码时遇到了一些问题。由于我不是程序员,因此无法纠正。所以请帮助克服这个问题。
问题是....消息从头到尾不断弹出。例如:如果单元格“P7”的值达到 0 到 1 以上,我会收到弹出消息,这很好。但有时单元格的值会在 0 以上波动,例如从 1 到 2、2 到 2.5 或 3....... 等等,因为单元格值是从其他单元格的计算中得出的(实时数据)。因此,对于单元格值的每次连续增加,我都会收到弹出消息。只有当单元格值超过 0 时才会弹出它,但不会出现从 0.5 到 1、1 到 2、2 到 2.5 或 3 的每一个进一步的增量..... 对于上述问题,我注意到,如果例如,单元格值“P7”超过 0 到 1.5 并停留在那里,随后“P8”或“P9”或两者的单元格值达到 0 以上,
以下是供您参考的代码。
Private Sub Worksheet_Calculate()
'Dimension variables
Dim c As Range, Str1 As String
'Set up a range to loop thru
For Each c In Range("P7:P77,S7:S77")
'Test if that cell contains a number >0
If IsNumeric(c.Value) And c.Value > 0 Then
'Which column are we in to calculate
'The offset to column U and decide whether
'to use Buy or Sell as our string
Select Case c.Column
Case Is = 16
Str1 = "Buy "
oset = 5
Case Is = 19
Str1 = "Sell "
oset = 2
End Select
'Popup the message box
MsgBox Str1 & c.Offset(, oset)
End If
Next
End Sub