/ / Excel VBA StatusBarプロパティ

Excel VBA StatusBarプロパティ

StatusBarプロパティ のApplicationオブジェクトの Excel VBA 長いマクロの進捗状況を示すために使用できます。これにより、マクロがまだ実行中であることをユーザーに知らせることができます。

状況:

私たちが作成しようとしているマクロは、Range( "A1:E20")に乱数を埋め込みます。

Excel VBA StatusBarプロパティの例

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

1.まず、整数型の変数i、j、pctComplの3つを宣言します。

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)をループに追加します。

3. 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"

例:i = 3、j = 1の場合、(3 - 1)* 5 +(1 * 1)= 11%が完了している。

5. ApplicationオブジェクトのWaitメソッドを使用して、長いマクロをシミュレートします。

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

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

Application.StatusBar = False

シート上のコマンドボタンをクリックすると、結果が表示されます。

Excel VBA StatusBarプロパティの結果

注:マクロを中断するには、EscキーまたはCtrl + Breakキーを押してください。より視覚的なアプローチについては、Progress Indicatorプログラムを参照してください。

また読む: