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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBAの複数指定範囲の構文 2 2022/05/26 22:39
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
- Excel(エクセル) excelvbaでスライドショーを作りたい 2 2023/04/20 14:32
- Excel(エクセル) エクセルVBA マクロ処理中のポップアップメッセージについて 1 2023/08/04 21:34
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- 英語 提示文の仮定法が、時制の影響を受けていない理由について 10 2022/05/21 15:21
- Excel(エクセル) Excel処理について、教えて下さい。 下記表は、サンプルです。(実際には千件以上あります) A列に 6 2023/03/16 18:21
- 株式市場・株価 株価表示 5 2022/05/21 13:43
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DoEvents関数って何?
-
Excelでのセル内容の高速消去方法
-
小数点を含む数値かどうか判断...
-
SQLの速度をあげるには・・・
-
異なるプログラミング言語を連...
-
あっち向いてホイのプログラム...
-
EXCELが高速に動く、PCを教えて...
-
win10で、正確な待ち時間の作り方
-
絶対パスの取得について
-
ヒストグラム平滑化について
-
If Not c Is Nothing Then ~延...
-
GPUのパイプラインについて
-
基本情報技術者試験詳しい方へ...
-
C言語:関数を使うメリットとデ...
-
VB.NETにおける二値化処理の高速化
-
エクセルVBA 時間抜けの取得
-
Excel VBAにて、2GB超の点群デ...
-
ASICの動作
-
Macターミナルで実行中のプログ...
-
逆コンパイルと逆アセンブルの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DoEvents関数って何?
-
win10で、正確な待ち時間の作り方
-
Excelでのセル内容の高速消去方法
-
小数点を含む数値かどうか判断...
-
Chat GPTに、課題として、二と...
-
SQLの速度をあげるには・・・
-
絶対パスの取得について
-
WebBrowserの読み込み待ちの処...
-
実行時のCPU使用率を増やしたい
-
プログラム上のCPU稼働率低減に...
-
ノットイコールを教えて下さい
-
C言語:関数を使うメリットとデ...
-
Excel(VBA)でSetTimer関数を使...
-
あっち向いてホイのプログラム...
-
VC++2010 GDIオブジェクトの解...
-
If Not c Is Nothing Then ~延...
-
Excel VBA での処理時間計測結...
-
符号付きにすべきか、符号なし...
-
ソートにかかった時間を測りたい。
-
プログラミングの授業でPython...
おすすめ情報