限定しりとり

エクセルで警告音の出し方についての質問です。VBA

データを外部から取り込みエクセルのグラフを作成しております。
データはランダムに数値が入ります。
数値が100以上の場合にPCから5分間、警告音を鳴らしたいのですがどのようなプログラムを組めばよいでしょうか?
なお、警告音はエンターキを押して解除できるようにしたいです。

宜しくお願い致します。

A 回答 (1件)

>データを外部から取り込みエクセルのグラフを作成しております。


あくまでも参考です。おそらく、データはOLEやDDEからでしょうから、データの監視方法は、以下のようではない可能性があります。Calculate イベントが良いかもしれませんが、Calculate イベントは、数式の =Now() などを目立たないシートのセルに置かなくてはなりません。なお、本来、エンターキーの監視は、別の方法もあるとは思いましたが、SelectionChangeイベントにしました。

'//シートモジュール

Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
Public flgBeepOff As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
 If Range("A1").Value > 99 Then
  Call Me.SoundBeepPro
 End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 flgBeepOff = True
End Sub

Sub SoundBeepPro()
Dim myTime As Date
Dim diffTime As Date
flgBeepOff = False
myTime = Time
Do
 Sleep 1000 'サイクル 1/1000秒 = 1秒
 If flgBeepOff Then Exit Do
 Beep
 DoEvents
 diffTime = Time - myTime
Loop While TimeSerial(0, 5, 0) > diffTime '5分
End Sub

p.s.リクエストを出すのは自由ですが、VBAをまったく考慮しないで、データの入り方とかも教えないままに、質問を出されるのは、回答側としては、結構辛いですね。ある程度、ここまで作りましたので、後、どうしたらよいか教えてくださいなら良いのですが、まるっきりお任せは良い場合とそうでない場合があります。実際のこの種の質問は、成功例が少ないです。
    • good
    • 0
この回答へのお礼

稚拙な質問にも関わらずご回答くださいましてありがとうございました。
作成いただきましたモジュールを参考に勉強させて頂きます。

お礼日時:2010/10/17 23:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!