以下のExcel2007のVBAコードを修正するのを手伝ってください。誰かが私のニーズに合ったフォーラムの1つでこのコードを提供してくれました。しかし、このコードを実行しているときに問題が発生します。私はプログラマーではないので、修正できませんでした。だからこれを克服するのを手伝ってください。
問題は....メッセージが最初から最後まで継続的にポップアップしていることです。例:セル「P7」の値が0を超えて1に達すると、問題のないポップアップメッセージが表示されます。ただし、セルの値は他のセル(リアルタイムデータ)の計算から導出されるため、セルの値が1から2、2から2.5、3などのように0を超えて変動し続ける場合があります。このため、セル値が連続して増加するたびにポップアップメッセージが表示されます。セルの値が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