|
|
| Excel VBA Macro ・ フロー制御 ・ FAQ |
|
記述されているコードが実行されないが?
|
|
|
|
Question 85.4 |
Excel VBA Borad (掲示板)より |
 |
 |
|
|
次のプロシージャで最初にラベル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
最後の・・・「現在の発行枚数は・・・」は表示されます。
どなたかアドバイスをお願いします。
|
|
|
制御を占有しているからです。
Label1.Caption = "***"
DoEvents
For Each 〜
といった感じでよろしいかと思います。
|
|
|
|
※ DoEvents関数 … 発生したイベントがオペレーティングシステムによって処理されるように、プログラムで占有していた制御をオペレーティングシステムに渡すフロー制御関数
|
|
|
ムラジロ〜さんたびたびありがとうございます。ヘルプで調べてみましたが・・・何となくというか・・・。
DoEvents を入れると表示されるようになりました。
|
|
|
|
| |
|
|