msgbox のようなものがでて何%進行というようなのがでるといいです。
いろいろ方法はあると思いますので、よろしくお願いします。
msgboxだと処理が止まってしまうので
ステータスバーに進捗状況を表示した方がスマートだと思います。
進捗率は0~1までの値を設定してください。
「進捗表示_クリアー」処理は実行処理の最後で呼んでください。
ステータスバーの表示をクリアーします。
Sub 進捗表示(ByVal 進捗率 As Variant) 進捗文字 = Format(進捗率, "##0.0%") Application.StatusBar = 進捗文字 & " " & String(進捗率 * 10, "■") & String(10 - 進捗率 * 10, "□") End Sub
Sub 進捗表示_クリアー() Application.StatusBar = False End Sub
僕も良く使うのはステータスバーですが、タイトルバーという方法もあります。
タイトルバーならEXCELを最小化していてもタスクバー(スタートメニューのとなり)で確認できるので使い方によっては便利です。
' 進捗割合を表示 Application.Caption = "99%完了..." ' 終われば元に戻す Application.Caption = vbNullString
ステータスバーだと、ユーザーの設定によっては表示されないので、別ウィンドウにラベルとか四角形とかで進捗を表示させるというのもあります。
メッセージボックスのように処理が中断されては困るので、自作のフォームでモードレスで表示させましょう。
また、エクセルの処理中、画面の再描画がされないので、適時DoeventsとかRepaintなどの再描画をさせる処理が必要です。
コメント(0件)