'ステータスバーに処理中のメッセージを表示するサンプルマクロ 'MyStatusBarに0から10の整数を渡してください。 'ただし、最初は必ず-1を指定してください。 Option Explicit Sub Test_MyStatusBar() Dim oApp As Object Dim i As Long Dim n As Long Set oApp = Application On Error GoTo ErrorHandler n = 1000000 oApp.DisplayStatusBar = True oApp.EnableCancelKey = xlErrorHandler 'ステータスバーの初期化(実際には0が表示されます。) MyStatusBar -1 For i = 1 To n '処理 'ステータスバーの更新 MyStatusBar Int((i / n) * 10) Next MsgBox "処理が終了しました。", vbInformation oApp.StatusBar = False Exit Sub ErrorHandler: oApp.StatusBar = False MsgBox "エラーが発生しました。", vbExclamation End Sub Sub MyStatusBar(ByVal iArg As Integer) Static iCount As Integer If iArg < 0 Then iCount = 0 Else If iArg = iCount Then Exit Sub If iArg > 10 Then iCount = 10 Else iCount = iArg End If Application.StatusBar = "処理中です... " _ & Right$(" " & CStr(iCount * 10), 3) & "% " & _ String$(iCount, Chr$(&H81A1)) & _ String$(10 - iCount, Chr$(&H81A0)) End Sub 'ステータスバーをリセットするマクロ '表示が残ってしまったときに使ってください。 Sub StatusBarReset() Application.StatusBar = False End Sub