記述されているコードが実行されないが?

Question 85.4 Excel VBA Borad (掲示板)より Previous Next
次のプロシージャで最初にラベル1に「<集計中>・・・」が 表示されないのでどうすればよいのか・・・?
Sub 発行枚数()
    Dim MyRng As Range
    Dim MyCount As Integer
    MyCount = 0
    Label1.Caption = "<集計中>しばらくお待ち下さい"
    For Each MyRng In Range("券番号")
        If MyRng.Font.Bold Then MyCount = MyCount + 1
    Next
    With Label1
        .Caption = "現在の発行枚数は " & MyCount & " 枚です"
        .ForeColor = &HFF&
    End With
    Beep
End Sub
最後の・・・「現在の発行枚数は・・・」は表示されます。 どなたかアドバイスをお願いします。
Answer   2001.8.27 ムラジロ~
制御を占有しているからです。
    Label1.Caption = "***"
    DoEvents
    For Each ~
といった感じでよろしいかと思います。
※ DoEvents関数 … 発生したイベントがオペレーティングシステムによって処理されるように、プログラムで占有していた制御をオペレーティングシステムに渡すフロー制御関数
ありがとうございました
ムラジロ~さんたびたびありがとうございます。ヘルプで調べてみましたが・・・何となくというか・・・。
DoEvents を入れると表示されるようになりました。

 

Excel VBA Macro