top of page

​タグ一覧

配列処理(67)

階層化フォーム(33)

ファイル操作(23)

シート・セル操作(11)

コード自動生成(10)

ユーザーフォーム(8)

図形操作(7)

GAS(5)

アニメーション(5)

技術解説(4)

副業(4)

考え方(4)

条件付き書式(4)

イミディエイトウィンドウ(3)

Enum(3)

Googleスプレッドシート(3)

ココナラ(3)

クリップボード(3)

介護(3)

開発効率化(2)

イベントプロシージャ(2)

PDF(2)

フリーランス(2)

リスキリング(2)

Excel(2)

Excel小ネタ(2)

数学(2)

Outlook(2)

文字列操作(2)

小説(2)

HTML(2)

JavaScript(2)

日報(2)

カレンダー(2)

パズル(2)

ステータスバー(1)

コード解析(1)

静的変数(1)

OneDrive(1)

バックアップ(1)

可変長引数配列(1)

ブック処理(1)

スクレイピング(1)

スプレッドシート(1)

coconala(1)

リボン登録マクロ(1)

QRコード(1)

実行予約(1)

給与計算(1)

VBA不使用(1)

リボン(1)

超勉強会(1)

六角形(1)

Excel遊び(1)

ボウリング(1)

時計(1)

スピログラフ(1)

図名描写(1)

連想配列(1)

イベント(1)

溶接ロボット(1)

VBA(1)

脱Excel(1)

Discord(1)

ECサイト(1)

CSV(1)

楽天(1)

保育士(1)

シフト表(1)

CDP(1)

楽天市場(1)

経理(1)

javascript(1)

医療(1)

文書作成(1)

LookerStudio(1)

シフト(1)

セキュリティ(1)

発注書(1)

ショートカット(1)

WebAPI(1)

色操作(1)

罫線(1)

スーパー開発ショートカット(1)

ライブラリ処理(1)

開発事例(1)

VBAの進行状況をステータスバーに表示する

更新日:9月23日


<概要>


今回は、進行状況をステータスバーに表示する汎用プロシージャを紹介します。



作成したプログラムの進行状況をユーザーに知らせるための処理は、時間を要する処理において実装するのはマナーのようなものです。


進行状況、いわゆるプログレスバーは開発者によっていろいろ個性がでるので面白いところですが、私の場合はステータスバーを利用して最小限の情報とコードで実装しています。



<用途>


・時間を要する処理の進行状況をお知らせする。




<プロシージャ紹介>


Public Sub ShowStatusBarProgress(Value As Long, MaxValue As Long, [Divide As Long = 1], [Message As String = ""])


名前:ShowStatusBarProgress/Subプロシージャ


説明:進行状況をステータスバーに表示する



引数


Value ・・・現在個数


MaxValue ・・・全体個数


[Divide] ・・・分割幅(Valueが何回に1回のときにスターテスバーを更新するか)/省略なら1で毎回更新


[Message]・・・表示メッセージ



<実行例>


次のようなコードを記述します。





実行すると左下のステータスバーには次のような表示がされます。


実行結果でのステータスバーの表示
実行結果でのステータスバーの表示

この汎用プロシージャを使用する上での注意点ですが、ループ数が多いときは分割数「Divide」をしっかり指定することです。


「スターテスバーに文字列を表示する」処理自体に処理時間を要するため、デフォルト値で「Divide=1」とするとループ毎にスターテスバーが更新されて余計に処理に時間がかかってしまいます。


ちなみに、今回のように進行状況をお知らせせずに実行するのが一番処理時間が短くてすみます。その代わり「どのくらい進んでいるか」が分からなくなります。それぞれ長所短所ですね。


<コード>

 

 Gist






コメント

5つ星のうち0と評価されています。
まだ評価がありません

評価を追加
Softex-Celware

​インボイス登録番号:T5810983887134

  • Facebook
  • Twitter
  • YouTube

©2023 softex-celware。Wix.com で作成されました。

bottom of page