Excel VBA:ステータスバーに実行状況を表示する|Application.StatusBar

アプリのインストール時や長い処理を行う場合などに使用されるステータスバーをExcel VBAで表示させます。



Homeに戻る > Excel 数値・文字列・検索・印刷のTipsへ

Excel VBAでステータスバーには現在の状況を表示します。

表示させるには、Application.StatusBarを使います。

ここではTimer関数を使用し、経過時間を表示させます。

進行状況をパーセント表示させるには、処理内容を分割し、その単位で割り振ることで可能です。

関連する「Timer関数を使用した3分間タイマー作成|分秒の表示」も掲載していますので、参考にしてください。




■ステータスバー表示の実行手順

  1. ステータスバーが表示されていない場合もあるので、元に戻す為、現在の表示状態を保存します。
  2. ステータスバーを表示します。
  3. 「実行中..」と表示します。
  4. 10秒単位でカウントし、10秒毎に経過時間を表示します。
  5. ステータスバーのメッセージを消します。
  6. 開始時に保存した状態に戻します。

実行Excelシート画面

矢印のステータスバーに10秒毎の経過時間が表示されます。

Excel2007のステータスバー

Excel VBA実行コード

Sub ボタン3_Click()
    Dim lnow As Long
    Dim i As Long
    Dim bpush As Boolean
    
    'ステータスバーの現在の状態を保存
    bpush = Application.DisplayStatusBar
    Application.DisplayStatusBar = True
        
    Application.StatusBar = "実行中..."
    DoEvents
    
    For i = 1 To 5
        lnow = Timer
        Do
            If Timer - lnow > 10 Then
                Exit Do
            End If
        Loop
        'ステータスバーに経過時間を表示
        Application.StatusBar = i * 10 & "秒経過"
        DoEvents
    Next
    
    Application.StatusBar = ""
    '開始時の表示状態に戻す
    Application.DisplayStatusBar = bpush

End Sub


Homeに戻る > Excel 数値・文字列・検索・印刷のTipsへ

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


Copyright (c) Excel-Excel ! All rights reserved