| 
    
     |  | Ontime処理の中断操作をしています。 予定時刻変数ddを「General Declaration」でPublic宣言した
 のに,標準モジュールで使えないのはなぜですか? お願いします。
 
 
 <処理内容>
 1.シート上の任意のセルをダブルクリックすると,(すぐEnterを押して編集モードを抜ける)Ontime処理により3秒後にMsgboxで「練習」というメッセージがでる。
 2.シート上にフォームボタンを設置し,押すと上記の
 処理を中断する。
 
 
 予定時刻変数ddの宣言はPrivate Sub Worksheet_BeforeDoubleClick
 の表示されている画面で「General Declaration」にして下記のように
 書きました。
 Public dd As Date
 この変数ddが標準モジュールで使えないです。
 
 <プログラム>
 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 dd = Now + TimeValue("00:00:03")  '処理終了予定タイムの設定
 MsgBox (dd)            '処理終了予定タイムが格納されたかの確認。
 Application.OnTime dd, "Module1.練習"
 End Sub
 ――――――――――――――――――――――――――――
 <Module1の内容>
 Sub 練習()
 MsgBox ("練習")
 End Sub
 ――――――――――――――――――――――――――――
 <中断ボタン・Module2の内容>
 Sub ボタン1_Click()
 MsgBox (dd) ・・・・・問題地点1.
 Application.OnTime dd, "Module1.練習", , False
 End Sub
 ―――――――――――――――――――――――――――――
 問題地点1.の説明
 ここで,public指定の時刻変数ddが受け継がれているかを確認
 してますが,ここで何も書かれていないmsgboxがでる。
 つまりddに何も入ってないということです。
 MsgboxのOKを押すと,エラーメッセージで,
 「on time メソッドは失敗しました。〜」となり,
 OKを押すとプログラムは次に進んでいるようで
 「練習」メッセージは出ます。
 
 
 お願いします。
 
 
 |  |