プログレスバー

プログレスバーはユーザーに処理の進行状況を知らせるのに使用します。
プログレスバーはツールボックスの初期状態にはないので、追加する必要があります。

進行度合いは、ProgressBarのValueプロパティに進行のパーセントを設定します。
実行中にキャンセルするにはループ中にDoEvents関数を配置しないと、反応できません。



Homeに戻る > ExcelコントロールTipsへ

実行画面

プログレスバーを追加します。

メニューのツールで、「その他のコントロール」をクリックします。
プログレスバーがないVBE画面

コントロールの追加ダイアログが表示されるので、Microsoft ProgressBar Control Version6.0のチェックをONにします。
コントロールの追加

ツールボックスにプログレスバーコントロールが追加されるので、ユーザーフォームに配置します。
プログレスバーを配置

プログレスバーを使用中のユーザーフォームです。
プログレスバーで進行状態を知らせるソフト

実行VBAコード

Option Explicit

Private bcancel As Boolean

'タイマー開始
Private Sub ExTimerStart(ltim As Long)
    Dim ln As Long
    Dim sttime As Long
    
    sttime = Timer
    Do
        '経過時間を算出
        ln = Timer - sttime
        If ln >= ltim Then
            Exit Do
        End If
        DoEvents
    Loop
    
End Sub

Private Sub CommandButton1_Click()
    Dim nmax As Long
    Dim i As Long
    Dim j As Long
    
    'プログレスバーの最高値
    nmax = UserForm1.ProgressBar1.Max
    
    bcancel = False
    For i = 1 To nmax
        'プログレスバーを進める
        UserForm1.ProgressBar1.Value = i / nmax * 100
        If bcancel Then
            'キャンセルされた
            Exit For
        End If
        DoEvents
        '1秒タイマー
        ExTimerStart 1
    Next
   
End Sub

Private Sub CommandButton2_Click()
    'キャンセル
    bcancel = True
End Sub

Homeに戻る > ExcelコントロールTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved