Excel VBA質問箱 IV

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

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


12341 / 13645 ツリー ←次へ | 前へ→

【11005】Application.ScreenUpdating について 123 04/2/23(月) 18:44 質問
【11007】Re:Application.ScreenUpdating について Asaki 04/2/23(月) 19:57 回答
【11009】Re:Application.ScreenUpdating について 123 04/2/23(月) 20:40 お礼

【11005】Application.ScreenUpdating について
質問  123  - 04/2/23(月) 18:44 -

引用なし
パスワード
   こんばんは 123です。

また質問させてください。

ユーザーフォームのTextBoxのValueをsheet1の
Cells(1,2).Valueに設定しておきます。

そしてコマンドボタンをClickして、ある作業をさせるのですが、
作業中はTextBoxに「処理中...」と表示させたいのです。

当然処理終了後は、「●月●日処理終了」と表示させるべく
Cells(1,2).Value= Date & " 処理終了"
にしておきます。

Cells(1,1).Value = "処理中..."
としておき、コマンドボタンをClickすると
TextBox1.Value = Cells(1,1).Value

と こんな風に考えたのですが、
Application.ScreenUpdating = False を使うと

Application.ScreenUpdating = Falseから
Application.ScreenUpdating = Trueの間の作業じゃなくても
ScreenがUpdateされません。
以下のコードの通りなのですが、
作業中はApplication.ScreenUpdating = Falseにしたいのです。

Application.ScreenUpdating = False の前に記述しても
意味が無いのでしょうか?
また、TextBox1に「処理中...」と(MouseDownまたはUpを使用せずに)
表示させる方法をご教示願います。

Private Sub コマンドボタン1_Click()

TextBox1.Value = sheets("sheet1").Cells(1, 1).Value

Application.ScreenUpdating = False


sheets("sheet1").Cells(1, 2).Value = Date & " 処理終了"

Application.ScreenUpdating = True

TextBox1.Value = sheets("sheet1").Cells(1, 2).Value

End Sub

【11007】Re:Application.ScreenUpdating について
回答  Asaki  - 04/2/23(月) 19:57 -

引用なし
パスワード
   こんにちは。

>Application.ScreenUpdating = False
の前に
DoEvents
を入れるとどうなりますか?

【11009】Re:Application.ScreenUpdating について
お礼  123  - 04/2/23(月) 20:40 -

引用なし
パスワード
   ▼Asaki さんこんにちは。

でっ出来ました。
DoEventsの意味が、Helpを見てもよく分かりませんが、
とにかく出来ました。

本当にありがとうございました。


>>Application.ScreenUpdating = False
>の前に
>DoEvents
>を入れるとどうなりますか?

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