• ベストアンサー

エクセル2003VBAにて、

エクセル2003VBAにて、 ユーザーフォームのラベルへ処理状況を表示したいのですが、 マクロ実行中はユーザーフォームに処理が渡されないのか以下のコードが反映されません。 そこでDoEventsを入れてみたのですが、 やっぱりラベルに以下の文字が反映されません。 どなたかよい解決方法を御存じないでしょうか? 教えてください。よろしくお願いいたします。 DoEvents UserForm1.Label9.Caption = "行数確認中です..."

質問者が選んだベストアンサー

  • ベストアンサー
  • layy
  • ベストアンサー率23% (292/1222)
回答No.2

おそらくずっと表示でなくてー、ボタン押したら表示、マクロ終わると非表示と思います。 ラベル内容変更と同時にフォームのREPAINTでラベルの内容で随時描画できます。 ただ表示が頻繁に行われると処理重たくなるので、最小限にする方が良いです。

ddtqp
質問者

お礼

ばっちりです! 以下のコードを1行足したらいけました。 ありがとうございます。 UserForm1.Label9.Caption = "行数確認中です..." UserForm1.Repaint

その他の回答 (1)

  • ziziwa1130
  • ベストアンサー率21% (329/1546)
回答No.1

Private Sub UserForm_Activate() Me.Label9.Caption = "行数確認中です..." End Sub これで反映される筈ですよ。

ddtqp
質問者

お礼

勉強になりました。ありがとうございます。

関連するQ&A

専門家に質問してみよう