Excel VBA質問箱 IV

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

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


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

【55300】Public変数が標準モジュールで使えない。 トキ 08/4/26(土) 13:42 質問[未読]
【55301】Re:Public変数が標準モジュールで使えない。 n 08/4/26(土) 14:56 発言[未読]
【55312】Re:Public変数が標準モジュールで使えない。 トキ 08/4/27(日) 7:33 お礼[未読]

【55300】Public変数が標準モジュールで使えない。
質問  トキ  - 08/4/26(土) 13:42 -

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


お願いします。

【55301】Re:Public変数が標準モジュールで使えな...
発言  n  - 08/4/26(土) 14:56 -

引用なし
パスワード
   こんにちは。
>予定時刻変数ddの宣言はPrivate Sub Worksheet_BeforeDoubleClick
>の表示されている画面で「General Declaration」にして下記のように
>書きました。
>Public dd As Date
>この変数ddが標準モジュールで使えないです。
Publicでの宣言は標準モジュールにする必要があります。
標準モジュールの General/Declaration に書いてください。

【55312】Re:Public変数が標準モジュールで使えな...
お礼  トキ  - 08/4/27(日) 7:33 -

引用なし
パスワード
   できました。
ありがとうございました。

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