Excel VBA質問箱 IV

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

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


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

【28424】タイマー監視 aby200sm 05/9/6(火) 13:29 質問[未読]
【28426】Re:タイマー監視 でれすけ 05/9/6(火) 14:08 回答[未読]
【28428】Re:タイマー監視 aby200sm 05/9/6(火) 15:25 お礼[未読]
【28433】Re:タイマー監視 aby200sm 05/9/6(火) 16:22 回答[未読]
【28436】Re:タイマー監視 aby200sm 05/9/6(火) 16:38 発言[未読]
【28437】Re:タイマー監視 aby200sm 05/9/6(火) 16:41 発言[未読]
【28441】Re:タイマー監視 さすけね 05/9/6(火) 17:24 回答[未読]
【28443】Re:タイマー監視 aby200sm 05/9/6(火) 18:33 お礼[未読]

【28424】タイマー監視
質問  aby200sm  - 05/9/6(火) 13:29 -

引用なし
パスワード
   はじめて質問させていただきます。
エクセル設定条件:
あるセルに"0"から"3"まで時間経過でランダムに変化する数値が入っている。
この値を参照するセルに下記のような表示をする。
たとえばセル$B$4に下の文字列を表示する。
0:"空白"
1:"無し"
2:"待ち"
3:"終了"
欲しい結果:時間の経過で上記0〜3の値により1分単位で刻々と文字列が変化するが
3:"終了"の表示をしたらそれ以降は時間が経過しても"終了"の表示を
別のセル(たとえばセル$B$5)に表示し続ける事にする。
数値は1分単位以上で変化します。解決方法はエクセルの関数とか、マクロ、VBAの
どれを使ってもOKです。
うまい処理方法があればアドバイスお願いいたします。
3:"終了"になった瞬間に何かフラグを立てて、そのフラグを
最優先条件に別のセルに"終了"と表示すれば良いのですが、
この処理はタイマー内でやることになると思います。
まさに上記の場合の処理が必要ですが、多分VBAでタイマーをたたく
タイミングは(?)マクロボタンでもexcel起動時でも良いですが、
VBAの具体的記述が必要なので投稿しました。
解決策をお示し頂けたら幸いです。

【28426】Re:タイマー監視
回答  でれすけ  - 05/9/6(火) 14:08 -

引用なし
パスワード
   こんにちは。

>あるセルに"0"から"3"まで時間経過でランダムに変化する数値が入っている。
これは既にできているわけですよね。
であれば、
その”あるセル”がA1であるとすれば、
B4セルに、=HLOOKUP(D7,{0,1,2,3;"空白","無し","待ち","終了"},2)
B5セルに、=IF(D7>=3,"終了","")
という式を入れておけばいいと思います。

【28428】Re:タイマー監視
お礼  aby200sm  - 05/9/6(火) 15:25 -

引用なし
パスワード
   早速の回答ありがとうございます。
研究してみます。
具体的な使い方としては株式市場である銘柄の相場の
指値を決めておいて、その指値より高い相場が出たかを
監視するために使います。
相場自体は1分間で上げ下げしますので瞬間でも越えたことを
監視します。
応用が効かなかったら再度ご質問します。

【28433】Re:タイマー監視
回答  aby200sm  - 05/9/6(火) 16:22 -

引用なし
パスワード
   ▼aby200sm さん:
>早速の回答ありがとうございます。
>研究してみます。
>具体的な使い方としては株式市場である銘柄の相場の
>指値を決めておいて、その指値より高い相場が出たかを
>監視するために使います。
>相場自体は1分間で上げ下げしますので瞬間でも越えたことを
>監視します。
>応用が効かなかったら再度ご質問します。

でれすけ さんへ
質問の意味が通じなかったようです。
先程のA1セルにあるデータは0から3まで常に変化しています。
そのたびごとに表示"終了"が表示されたり、消えたりしては困ります。
一瞬"終了"が表示されたらその表示を保持(ホールド)しなければ意味がありません。
よろしくお願いします。

【28436】Re:タイマー監視
発言  aby200sm  - 05/9/6(火) 16:38 -

引用なし
パスワード
   ▼でれすけ さん:
>こんにちは。
>
>>あるセルに"0"から"3"まで時間経過でランダムに変化する数値が入っている。
>これは既にできているわけですよね。
>であれば、
>その”あるセル”がA1であるとすれば、
>B4セルに、=HLOOKUP(D7,{0,1,2,3;"空白","無し","待ち","終了"},2)
>B5セルに、=IF(D7>=3,"終了","")
>という式を入れておけばいいと思います。

その”あるセル”がA1であるとすれば---上を見るとD7ですよね!

【28437】Re:タイマー監視
発言  aby200sm  - 05/9/6(火) 16:41 -

引用なし
パスワード
   ▼aby200sm さん:
>▼でれすけ さん:
>>こんにちは。
>>
>>>あるセルに"0"から"3"まで時間経過でランダムに変化する数値が入っている。
>>これは既にできているわけですよね。
>>であれば、
>>その”あるセル”がA1であるとすれば、
>>B4セルに、=HLOOKUP(D7,{0,1,2,3;"空白","無し","待ち","終了"},2)
>>B5セルに、=IF(D7>=3,"終了","")
>>という式を入れておけばいいと思います。
>
>その”あるセル”がA1であるとすれば---上を見るとD7ですよね!

投稿の返信が不明でしたので再度質問を入れました。

でれすけ さんへ
質問の意味が通じなかったようです。
先程のA1セルにあるデータは0から3まで常に変化しています。
そのたびごとに表示"終了"が表示されたり、消えたりしては困ります。
一瞬"終了"が表示されたらその表示を保持(ホールド)しなければ意味がありません。
よろしくお願いします。

【28441】Re:タイマー監視
回答  さすけね  - 05/9/6(火) 17:24 -

引用なし
パスワード
   ▼aby200sm さん:

VBAでやってみました。
方言がキツくて読みずらいかもしれませんが、
参考になればうれしいです。

リセット用に CommandButton をシート上に配置してください

Private Enum enmTickStatus
  enmTickStatus_Blank = 0
  enmTickStatus_Nothing = 1
  enmTickStatus_Wait = 2
  enmTickStatus_Close = 3
End Enum

Private Const conSTR_ChkAddr As String = "B2"
Private Const conSTR_DispAddr As String = "B3"

Private Const conSTR_Blank As String = "空白"
Private Const conSTR_Nothing As String = "無し"
Private Const conSTR_Wait As String = "待ち"
Private Const conSTR_Close As String = "終了"

Private gbClose As Boolean

Private Sub CommandButton1_Click()
  Call TickReset
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
  
  If gbClose Then Exit Sub
  If Target.Address <> Range(conSTR_ChkAddr).Address Then Exit Sub
  
  With Range(conSTR_DispAddr)
  Select Case Target.Value
  Case enmTickStatus_Blank
    .Value = conSTR_Blank
  Case enmTickStatus_Nothing
    .Value = conSTR_Nothing
  Case enmTickStatus_Wait
    .Value = conSTR_Wait
  Case enmTickStatus_Close
    gbClose = True
    .Value = conSTR_Close
  Case Else
    .Value = vbNullString
  End Select
  End With
  
End Sub

Private Sub TickReset()
  gbClose = False
  Range(conSTR_DispAddr).Value = vbNullString
End Sub

【28443】Re:タイマー監視
お礼  aby200sm  - 05/9/6(火) 18:33 -

引用なし
パスワード
   さねすけさん
ありがとうございます。勉強してみます。
分からない所有ればまた、ご質問します。
よろしくお願いします。 from aby200sm

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