Excel VBA質問箱 IV

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

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


33275 / 76738 ←次へ | 前へ→

【48686】Re:関数の値の共有
お礼  勉強中  - 07/5/1(火) 21:49 -

引用なし
パスワード
   ▼ichinose さん:
こんばんは。
おかげさまで意とする動作が確認できました。
ありがとうございます。
プロシージャの中ではなく外で宣言するのですね。
今後ともご指導をお願いします。

>こんばんは。
>プロシジャー内で宣言したローカル変数は、
>
>原則としてプロシジャーが実行されている間、値が保持されます。
>
>プロシジャー終了後は開放されます。
>
>よって、このままだとプロシジャーAでdtBfr1にデータをセットしても
>
>プロシジャーBで参照しているdtBfr1とは別物です。
>
>
>Private dtBfr1 As String
>
>>Sub A()
>   Dim dtBfr1 As String '←この行は、削除
>>  Range("z5").Select
>>  dtBfr1 = ActiveCell.Value  ←dtBfr1は更新前のデータです。
>>  ActiveWorkbook.RefreshAll  ←ここでデータ更新します。(外部データ)
>>  Application.OnTime Now + TimeValue("00:00:20"), "B" ←「Sub Bを呼びま                              す」
>>End Sub
>>
>>
>>Sub B()
>>  Dim dtAftr1 As String
>>  Range("z5").Select
>>  dtAftr1 = ActiveCell.Value   ←dtAftr1は更新後のデータです。
>>  If dtBfr1 <> dtAftr1 Then    ←データが変更されている場合は変更後の                   データを音声で読みあげたいのですが、                   ここでdtBfr1の値が「empty」となってし                   まいます。
>>    Application.Speech.Speak (dtAftr1)
>>  End If
>>End Sub
>
>としてみてください。
>
>確認していませんが、この仕様だとシートのChangeイベントは
>使えませんか?
3 hits

【48671】関数の値の共有 勉強中 07/5/1(火) 7:11 質問
【48672】Re:関数の値の共有 ichinose 07/5/1(火) 7:15 発言
【48673】Re:関数の値の共有 勉強中 07/5/1(火) 10:39 質問
【48680】Re:関数の値の共有 ichinose 07/5/1(火) 20:35 発言
【48686】Re:関数の値の共有 勉強中 07/5/1(火) 21:49 お礼

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