HOME > 即効テクニック > Excel VBA > ユーザーフォーム関連のテクニック > 処理の進捗状況をラベルで表現する

即効テクニック

ユーザーフォーム関連のテクニック

処理の進捗状況をラベルで表現する

(Excel 97/2000)
処理の進捗状況を2つのラベルを使って表現します。
1つのラベルは、その幅を広げていく事で進捗を表します。もう1つのラベルには、進捗を%で表示します。
フォームにラベル「Label1」「Label2」を配置します。
Private Sub UserForm_Activate()

    Dim I As Integer, J As Integer
    Dim intMAX As Integer, intLCOUNT As Integer
    
    Label1.Visible = False
    MsgBox "処理を開始します"
    Label1.Visible = True

    intMAX = 100            'intMAX=LOOP回数
    intLCOUNT = 1           '現在LOOP回数
    
    '読み込み開始
    For I = 1 To 100
        
        Label1.Width = 200 * Format(intLCOUNT / intMAX, "###.###")
        Label2 = Str(Int(100 * Format(intLCOUNT / intMAX, "###.###"))) + "%"
        
        DoEvents
        
        '処理
        
        intLCOUNT = intLCOUNT + 1
    Next I

End Sub
『処理』の部分に、実際に行う処理を記述します。