• 締切済み

エクセルVBA MSGBOXを30秒間出したい それをUWSCソフトで監視して命令を出したい

 エクセルでI列に値が入力されていて、その値が変わればMSGBOXを30秒間だけ出すようにしたいが、どうすればいいんでしょうか?MSGBOXの中身は ”BUY""SELL"で  Private Sub Worksheet_Change (By Val Target As Range) If Target.Column="I"Then Msgbox"buy""sell" End IF End Sub これでは、表示されません どう改良するんでしょうか? あと、30秒間だけ表示させるには、 option explicit public declare function gettickcout lib "kernel132"()As long で証明?して DimStartTime DimNowTime StartTim=GetTickCount MyMsgbox.Show0 DoWhileNowTime-StartTime<3000 NowTime=GetTickCount Do Event Loop Unload My Msgbox End sub だと思うんですが、二つを混ぜてするにはどうするのでしょうか?教えてください 

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 かなり、コードは雑に書いているようですが、2番目のコードは、ユーザーフォームですね。それが分かるなら、そちらを使えばよいけれど、単に、MsgBox を、30秒間待たせるなら、 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 9 Then Exit Sub If Target.Value <> "" Then  CreateObject("WScript.Shell").Popup "Buy or Sell ?", 30, "テスト" End If End Sub こうすればよいのではありませんか?UserFormほどない場合は、DialogSheet を加工して使えばよいと思います。

kamedon
質問者

お礼

回答、ありがとうございます。みなさん天才ですね!とても役に立ちます 225先物ミニをシステム売買するために、楽天RSSからデータを取り、それをエクセルで売買判断して、信号を出します(MSGBOX) それを、UWSCソフトで監視し命令を出すんですが、苦労しています。みなさん程の知識があれば、大金持ちになれますよ!システムトレードに是非、挑戦して下さい。ではでは

noname#60992
noname#60992
回答No.1

msgbox のように見えるフォームを使われたらいかがでしょうか?

関連するQ&A