
ExcelVBAが、あとどれくらいで終了するか処理経過をリアルタイムにグラフもしくは%で表示させたいのです。
当然、ForやLoop処理などもあるので、何度、繰り返されて、どのくらい時間がかかり、後、どのくらいで終わるのかは、条件によって異なってくると思うので、自分で判定させるようにしなければならないかとは思っていますが・・
ソフトのインストーラーみたいな感じにヴィジュアル的に経過表示をさせたい(%での表示でも良いです)のですが、何か良い方法はありますでしょうか?
ご教授いただけると幸いです。
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
No.4
- 回答日時:
2-3日前にもプログレスバー関連の質問で、横道に議論が行っていたと思うが、素人的に、この質問に疑問におもい、下記のことの方が重要なのでないかと思って書きます。
所要時間がわかれば、プログレスバー、やステータスバーやグラフ
的にでも表示できると思う。
あるプログラムを実行して、終わるまでの時間は
(1)CPUの処理速度
(2)OS
(3)インタープリターかコンパイラーか
(4)処理ロジックの組み方・利用ファイルシステムの違い
(5)入出力装置の入出力能力、そのドライバーソフトの処理具合
(6)他の同時に走っている処理プログラム、その数
(7)処理タスクの優先度設定(どのタスクの優先度を上げるか
オペレーターが介入できるOSあり)
(8)そのコンピュターのメモリなどリソースの多少
(9)メモリのごみやディスクの記録状況(Defrag的なこと)
などなどで左右されると思う。
それで正確には処理完了時間は実行して見るまでわからないと思う。
それが判らないと、
・動いてます
・時間が経ってます。経過時間が増えてます。
の表示になってしまう。これも大切と思うが。
ーーー
それで
(1)経験的に過去に複数回時間を計って(上記1-7は自分のパソコンの場合と仮定して)大体の平均時間を出す。
それでスタートから現時点までの経過時間を割って、比率を出し表示する
(2)既回答で紹介のあるページの例にあるが、プログラムのコードを見て多数回繰り返しがあり、その処理時間が、全体のメインを占めると考えた場合は、今まで完了した繰り返し回数/全繰り返し回数を途中処理済割合として、コントロール等に通常長さで表示する。
ーー
ですから
(1)・上記(1)の時間の見積もり
・スタートから現時点までの経過時間を出すコード
・プログレスバーコントロールのインストールと
・長さ設定の仕方
のコードを勉強する
(2)処理時間がかかりそうな、繰り返しを見つける。
その何分(10,100,1000分の1とか)の経過ごとに
バーの表示更新の処理に飛ぶやり方の勉強
ということになるのでしょうか。
エクセルシート上にある抽出データの量によって、また、実行されるPC環境によって、大きく割合が変わってくると思われますので、あらかじめ比率を出しにくいのですが、参考にさせていただきます。
取り合えず、シート上の行数を1行づつ、なめていくので、処理済行数/総行数で、割合を表示させることとしました。
ありがとうございました。
No.3
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語プログラミングで、多項式...
-
PIC mainループについて
-
VBA:CSVファイルの読出し手法...
-
関数呼び出しの処理
-
VC++2010 GDIオブジェクトの解...
-
Macターミナルで実行中のプログ...
-
powershell を使いカレントディ...
-
.NetのBackgroundWorkerクラス...
-
家電製品の電力周波数を変える機械
-
if ( a & b == b )
-
アプリケーションが終了するま...
-
C#で通信処理。応答がない場合...
-
実行時のコマンドプロンプトを...
-
マルチスレッドのスレッド数を...
-
bmp → jpeg への変換
-
.sb3のファイルを.sb2に変換す...
-
常駐するアプリケーションを初...
-
スレッドがサスペンドされてい...
-
InvalidateRectがうまくいかない
-
スレッドの終了を知りたい(Wind...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
win10で、正確な待ち時間の作り方
-
小数点を含む数値かどうか判断...
-
Excelでのセル内容の高速消去方法
-
If Not c Is Nothing Then ~延...
-
for文の処理に時間がかかってい...
-
Excel VBAにて、2GB超の点群デ...
-
VB 電卓 メモリー機能
-
絶対パスの取得について
-
DirectShowでのfilterの作り方
-
wavelet変換のソフト
-
エクセルVBA 時間抜けの取得
-
Excel(VBA)でSetTimer関数を使...
-
プログラム上のCPU稼働率低減に...
-
ノットイコールを教えて下さい
-
テキストファイルの空行をスキ...
-
.netからexcel操作の処理速度が...
-
SQLの速度をあげるには・・・
-
基本情報技術者試験詳しい方へ...
-
Excel VBA データ削除の高速化
-
VBA言語プログラミング
おすすめ情報