Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2510 / 13646 ツリー ←次へ | 前へ→

【67613】カウンターの値が特定の値以上からゼロに戻った回数を数える方法 hoully 10/12/18(土) 7:48 質問[未読]
【67614】Re:カウンターの値が特定の値以上からゼロ... かみちゃん 10/12/18(土) 9:31 発言[未読]
【67620】Re:カウンターの値が特定の値以上からゼロ... hoully 10/12/18(土) 21:59 お礼[未読]
【67638】Re:カウンターの値が特定の値以上からゼロ... hoully 10/12/20(月) 17:54 お礼[未読]

【67613】カウンターの値が特定の値以上からゼロに...
質問  hoully  - 10/12/18(土) 7:48 -

引用なし
パスワード
   以下のようなプロシージャでカウンターを作りました。ワークシート「板」の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

【67614】Re:カウンターの値が特定の値以上からゼ...
発言  かみちゃん E-MAIL  - 10/12/18(土) 9:31 -

引用なし
パスワード
   こんにちは。かみちゃん です。

> カウンターの値が8以上の値のときからゼロに戻った回数を数えたい

以下のようにすればいいのではないでしょうか?

  ElseIf flow < 0 Then
   If Worksheets("板").Cells(1, 1).Value >= 8 Then '★
    cnt = cnt + 1 '★
   End If '★

※DDEの環境がわからないので、検証できていません。
また、変数cnt は、適宜、宣言しておくとよいかと思います。

【67620】Re:カウンターの値が特定の値以上からゼ...
お礼  hoully  - 10/12/18(土) 21:59 -

引用なし
パスワード
   ▼かみちゃん さん:

ご回答ありがとうございます!
月曜日に出社するので、さっそく試してみます。後ほど結果報告いたします。
この度は本当にありがとうございました。

【67638】Re:カウンターの値が特定の値以上からゼ...
お礼  hoully  - 10/12/20(月) 17:54 -

引用なし
パスワード
   かみちゃん さんへ

今日、会社で試してみたら、できました。
ありがとうございました。

2510 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free