エクセルVBAでアプリケーションオブジェクトのステータスバープロパティは、長いマクロの進行状況を示すために使用することができます。この方法では、ユーザーがマクロが実行されていることを知らせることができます。

状況:

ランダムな数字で:マクロは、我々は塗りつぶし範囲(「E20 A1」)を作成しようとしています。

Excel VBA StatusBar Property Example

コマンドボタンに次のコード行を追加します。

1.まず、我々はInteger型、名前のI、JとpctComplの三つの変数を宣言します。

Dim i As Integer, j As Integer, pctCompl As Integer

ダブルループを追加します。2.。

For i = 1 To 20

For j = 1 To 5

Next j

Next i

ループ(図3、図4及び図5において)次のコード行を追加します。

  1. RANDBETWEEN関数は、20と100の間の乱数をインポートする

Cells(i, j).Value = WorksheetFunction.RandBetween(20, 100)

4.初期化変数pctCompl。 2番目のコード行は、変数pctComplと、ステータスバーにいくつかの説明のテキストの値を書き込みます。

pctCompl = (i - 1)  5 + (j  1)

Application.StatusBar = "Importing Data.. " & pctCompl & "% Completed"

例:私は3、J = 1、(3 – 1)= 5 +(1 1)11%が完了しています=

5.私たちは、長いマクロをシミュレートするために、Applicationオブジェクトのwaitメソッドを使用します。

Application.Wait Now + TimeValue("00:00:01")

6.デフォルトのステータスバーのテキストを復元するには、(ループ外)Falseにステータスバーのプロパティを設定します。

Application.StatusBar = False

あなたはシート上のコマンドボタンをクリックすると、結果:

Excel VBA StatusBar Property Result

注:することはでき マクロ割り込み / VBA-例-割り込みマクロ EscキーまたはCtrl +ブレイクを押すことにより、いつでも。 / VBA-例-プログレスインジケータ[進捗インジケータ] プログラム:より多くの視覚的なアプローチのために、私たちのリンクを参照してください。