VBA

【VBA】たった一行でプログラム実行中の進捗をステータスバーで表示する方法

更新日:

広告

時間のかかる処理をステータスバーで進捗表示

時間のかかるプログラム処理中にユーザーが不安にならないために、実行中であることや残り時間の目安を知らせるためのステータスバーです。ステータスバーというのはエクセルの最下段の部分です。

埋め込み方

たった1行でできる簡単なコードです。
Application.statusbar = "実行中" & String(i, "■") & String(10 - i, "□")
を各所に追記するだけです。

Sub statusbar()

Dim i As Integer

For i = 1 To 10
 Application.statusbar = "実行中" & String(i, "■") & String(10 - i, "□")
 Application.Wait [Now()+"00:00:00.2"] 'ここに処理の長いプログラム サンプルは0.2秒待つ
Next i

Application.statusbar = False 'ステータスバーを非表示

End Sub

モーダルなユーザーフォームよりも軽く、アクティブなシートが読み込めず発生するエラーも回避できます。そもそもシートを指定していないコードはよくないのですが、前任者の作った既存プログラムのメンテナンス等だとすべてを修正するのに時間がかかり、他に影響があると嫌なのであまり触りたくないことがあります。

 

広告

おすすめ記事

1

楽天モバイルにMNPしたのでレビューします。 楽天モバイルって? 楽天モバイルはドコモ、au、ソフトバンクと同じく独自回線を用いた携帯キャリアです。いわゆる格安SIM(MVNO)は携帯キャリアから通信 ...

2

みなさまは増え続けるID,パスワードをどのように管理しているでしょうか。 わたしは、パスワード管理ソフト「ロボフォーム」を利用しています。 パスワード管理ソフトとは インターネットの普及により、銀行や ...

-VBA
-,

Copyright© アルパカさんのもふもふした生活 , 2021 All Rights Reserved Powered by STINGER.