|
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を押すとプログラムは次に進んでいるようで
「練習」メッセージは出ます。
お願いします。
|
|