- ベストアンサー
Do~Loopした回数をカウントしたい
フォルダ内に数千件あるcsvファイルのデータを他のBookにまとめるマクロを作成しました しかし、1000~5000件のデータを処理させると時間がかかるため、いつ終わるのか目途がたちません。 よって何件中何件処理が進んでいるのか?を知りたいです。 結果として、マクロ処理中に画面上に「**件/5000件処理中」みたいな感じでカウントアップしている表示をさせたい よってLoopした回数をカウントすればよいと思うのですが Loop回数のカウント方法がわかりません 教えていただきたく よろしくお願いいたします。 フォルダ内の全ファイル件数はカウントすることはできています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
仮にDoの後に繰り返し条件があって、繰り返している処理回数を変数Cに格納するとして・・・ Dim C As Integer (もしくはLong) ' C=0 Do --繰り返しの条件-- C=C+1 --繰り返す処理-- Loop
その他の回答 (1)
- trajaa
- ベストアンサー率22% (2662/11921)
回答No.2
内部処理の処理時間よりも外部出力(件数の表示)の方が格段に処理の負荷が高い 貴方のしようとしていることは、いつ終わるか目処が立たない処理を更に更に遅くする事になるんだが・・・・ ソレって本末転倒ではないのか? もしかして、Bookに貼り付ける際に画面更新を停止していないから、セル更新の都度画面のリフレッシュが行われて重い処理になってるんでないのか? Application.ScreenUpdating = False してる?
質問者
お礼
アドバイスありがとございます! Application.ScreenUpdating = False 見よう見まねで入れてるんですが これも処理時間短縮に意味があるんですね! ありがとうございました。
お礼
ありがとうございました! できました!