|
以下のようなプロシージャでカウンターを作りました。ワークシート「板」のA1がカウンターです。ワークシート「1」のE2にはDDEでリアルタイムに更新されるランダムな整数値がはります。整数値のなかで正数が何回続いたかをカウントし、負数が入力されるとカウンターがゼロに戻る仕組みです。
やりたいことは、カウンターの値が8以上の値のときからゼロに戻った回数を数えたいのです。例えば、カウンターの値が9のときに、ワークシート「1」のE2に負数が入力されてカウンターの値がゼロになったら1回カウント。次にカウンターの値が例えば3のときにワークシート「1」のE2に負数が入力されてカウンターの値がゼロになったときはカウントしない、ということがやりたいのです。
どうやれば良いのか全く思いつきません。どなたか教えていただけないでしょうか?よろしくお願いいたします。
Private Sub Worksheet_Calculate()
Dim flow As Long
Dim renzoku As Integer
Dim r As Range
flow = 0
With Worksheets("1")
renzoku = Worksheets("板").Cells(1, 1).Value
flow = CLng(.Cells(2, 5).Value)
If flow > 0 Then
.Cells(4 + renzoku, 5).Value = flow
renzoku = renzoku + 1
Worksheets("板").Cells(1, 1).Value = renzoku
ElseIf flow < 0 Then
Set r = .Range(Cells(4, 5), Cells(4 + renzoku, 5))
r.Clear
Worksheets("板").Cells(1, 1).Value = 0
End If
End With
End Sub
|
|