プロが教える店舗&オフィスのセキュリティ対策術

フォルダ内に数千件あるcsvファイルのデータを他のBookにまとめるマクロを作成しました
しかし、1000~5000件のデータを処理させると時間がかかるため、いつ終わるのか目途がたちません。
よって何件中何件処理が進んでいるのか?を知りたいです。
結果として、マクロ処理中に画面上に「**件/5000件処理中」みたいな感じでカウントアップしている表示をさせたい

よってLoopした回数をカウントすればよいと思うのですが
Loop回数のカウント方法がわかりません
教えていただきたく
よろしくお願いいたします。

フォルダ内の全ファイル件数はカウントすることはできています。

A 回答 (2件)

仮にDoの後に繰り返し条件があって、繰り返している処理回数を変数Cに格納するとして・・・



Dim C As Integer (もしくはLong)
'
C=0
Do --繰り返しの条件--
C=C+1
--繰り返す処理--
Loop
    • good
    • 8
この回答へのお礼

ありがとうございました!
できました!

お礼日時:2012/10/15 20:21

内部処理の処理時間よりも外部出力(件数の表示)の方が格段に処理の負荷が高い



貴方のしようとしていることは、いつ終わるか目処が立たない処理を更に更に遅くする事になるんだが・・・・
ソレって本末転倒ではないのか?

もしかして、Bookに貼り付ける際に画面更新を停止していないから、セル更新の都度画面のリフレッシュが行われて重い処理になってるんでないのか?

Application.ScreenUpdating = False

してる?
    • good
    • 0
この回答へのお礼

アドバイスありがとございます!
Application.ScreenUpdating = False
見よう見まねで入れてるんですが
これも処理時間短縮に意味があるんですね!
ありがとうございました。

お礼日時:2012/10/15 20:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A