Microsoft Excel VBA - ユーザーフォームに進行状況を表示する方法
◆概要このページは、このページは、Excel でユーザーフォームに進行状況を表示する方法について記載しています。
Progressバーコントロールを使うと、次のようにユーザーフォームに進行状況を表示することができます。
◆手順1
まず、Visual Basic Editor画面に切り替え、ユーザーフォームを追加します。ユーザーフォームを追加するには、メニューから[挿入]-[ユーザーフォーム]を選択します。
◆手順2
ツールボックスの何もないところで右クリックし、「その他のコントロール」をクリックします。
◆手順3
すると次のようなダイアログボックスが表示されるので、Microsoft ProgressBar Control versio5.0(またはMicrosoft ProgressBar Control 6.0)を選択状態にし。OKボタンをクリックします。
◆手順4
ツールボックスに追加されたProgress Barコントロールをクリックし、ユーザーフォームで適当な大きさになるまでドラッグします。
◆手順5
処理を実行するマクロで次のように記述します。
プログレスバーがあまりに早くすんでしまうときは、総件数 = 3000の数値を大きくしてください。
Sub ProgressBarTest() Dim 総件数 As Integer ' ユーザフォームの初期化 UserForm1.Caption = "マクロ実行中" UserForm1.ProgressBar1.Value = 0 ' 初期値 UserForm1.ProgressBar1.Min = 0 ' 最小値 UserForm1.ProgressBar1.Max = 100 ' 最大値 ' ユーザーフォームを表示する UserForm1.Show vbModeless ' 再表示 UserForm1.Repaint 総件数 = 3000 Application.ScreenUpdating = False For i = 1 To 総件数 Step 1 ' ここに繰り返し行なう処理を記述します。 ' プログレスバーの値を設定 UserForm1.ProgressBar1.Value = i / 総件数 * 100 DoEvents Next i Application.ScreenUpdating = True ' UserForm1を非表示にする Unload UserForm1 End Sub
▼ページトップへ