プログレスバーを表示する@Excel マクロ・VBA
処理の実行中に、どのくらい処理が進んでいるのかを
プログレスバーを利用して表示します。
ここでは、フォームの作成に関しては、詳しく載せませんが、
プログレスバーを表示する、フォームを作成します。
フォーム上にプログレスバーのコントロールを置きます。
※初期では、ツールボックス>コントロール上にプログレスバーはありません。
右クリック>その他のコントロールで、Microsoft ProgressBar Controlをチェックします。
作成したフォームの初期化を行います。
フォームをvbModelessで表示します。
フォーム表示後の処理が進みません。
通常の場合は、指定しないとvbModalになります。
その後、プログレスバーの進捗の表示処理を行います。
処理が終了したら、フォームを閉じます。
'ユーザフォームの初期化
UserForm1.Caption = "マクロ実行中"
UserForm1.ProgressBar1.Value = 0
UserForm1.ProgressBar1.Min = 0
UserForm1.ProgressBar1.Max = 10000
'ユーザフォームを表示
UserForm1.Show vbModeless
'プログレスバーの表示処理
Dim i As Integer
For i = 1 To 10000
'プログレスバーの値の設定
UserForm1.ProgressBar1.Value = UserForm1.ProgressBar1.Value + 1
'再表示
UserForm1.Repaint
Next
'終了
Unload UserForm1
|