エクセルVBAステータスバーのプロパティ
エクセルVBAでアプリケーションオブジェクトのステータスバープロパティは、長いマクロの進行状況を示すために使用することができます。この方法では、ユーザーがマクロが実行されていることを知らせることができます。
状況:
ランダムな数字で:マクロは、我々は塗りつぶし範囲(「E20 A1」)を作成しようとしています。
コマンドボタンに次のコード行を追加します。
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において)次のコード行を追加します。
-
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
あなたはシート上のコマンドボタンをクリックすると、結果:
注:することはでき マクロ割り込み / VBA-例-割り込みマクロ EscキーまたはCtrl +ブレイクを押すことにより、いつでも。 / VBA-例-プログレスインジケータ[進捗インジケータ] プログラム:より多くの視覚的なアプローチのために、私たちのリンクを参照してください。