ステータスバーとは
エクセルのステータスバーとはウィンドウの一番下のグレーの枠の部分のことを言います。
ステータスバーの左側の「準備完了」と書いてある部分がありますが、ここにはマクロから任意の文字を表示させることができます。
主な使用方法はマクロで処理している内容や何分の何まで完了など、マクロ処理が動いていることを表示させるために使用することが多いです。

ステータスバーに文字を表示する方法
ステータスバーに任意の文字列を表示させる方法は↓のように記述します。
またステータスバーの表示、非表示に切り替える方法は↓のように記述します。
ステータスバーの表示は画面更新を停止(
Application.ScreenUpdating = False)にしていても表示・更新が可能です。
画面更新を停止しているとウィンドウのスクロールやシート・ブックの切り替えが表示されなくなりマクロを高速化するために使用されます。
ステータスバーに進行状況を表示するサンプルマクロ①
ステータスバーにマクロの処理状況を表示させるサンプルマクロを用意しました。
下のマクロでは1行目~500行目までを選択する処理(LoopSample)を5回実行させます。
1回目~5回目まで処理を呼びだすときにステータスバーのメッセージを変化させています。
マクロで実行している内容
①元のステータスバーの表示設定を保存する
②ステータスバーの表示設定をTrueにする
③ステータスバーに「進捗状況 1/5:■□□□□」を表示させる
1回目の処理を呼び出す
④ステータスバーに「進捗状況 2/5:■■□□□」を表示させる
2回目の処理を呼び出す
⑤ステータスバーに「進捗状況 3/5:■■■□□」を表示させる
3回目の処理を呼び出す
⑥ステータスバーに「進捗状況 4/5:■■■□□」を表示させる
4回目の処理を呼び出す
⑦ステータスバーに「進捗状況 5/5:■■■■■」を表示させる
5回目の処理を呼び出す
⑧ステータスバーの表示設定をFalseにする
⑨元のステータスバーの表示設定を元の表示設定に戻す
Sub Main1()
Dim oldStatusBar As String
'元のステータスバーの表示設定(True or False)…⓵
oldStatusBar = Application.DisplayStatusBar
'ステータスバーの表示をTrueにする…⓶
Application.DisplayStatusBar = True
'処理1…⓷
Application.StatusBar = "進捗状況 1/5:■□□□□"
Call LoopSample
'処理2…⓸
Application.StatusBar = "進捗状況 2/5:■■□□□"
Call LoopSample
'処理3…⓹
Application.StatusBar = "進捗状況 3/5:■■■□□"
Call LoopSample
'処理4…⓺
Application.StatusBar = "進捗状況 4/5:■■■■□"
Call LoopSample
'処理5…⓻
Application.StatusBar = "進捗状況 5/5:■■■■■"
Call LoopSample
'ステータスバーの表示をFalseにする…⓼
Application.StatusBar = False
'元のステータスバーの表示設定に戻す…⓽
Application.DisplayStatusBar = oldStatusBar
End Sub
Sub LoopSample()
'Main処理から呼び出されるプロシージャ
Dim i As Integer
'1行目から500行目までを繰り返す
For i = 1 To 500
'セルを選択する
Cells(i, 1).Select
Next i
End Sub
マクロを実行するとステータスバーに↓のように指定した文字列が表示されます。

マクロを実行していくと↓のようにステータスバーのメッセージが変化していきます。

最後はステータスバーの表示設定を元に戻すようにしているので最初と同じ状態になって終わります。

ステータスバーに進行状況を表示するサンプルマクロ②
次は処理名を表示させるイメージのサンプルです。
マクロで実行している内容
①元のステータスバーの表示設定を保存する
②ステータスバーの表示設定をTrueにする
③ステータスバーに「処理①を実行中」を表示させる
1回目の処理を呼び出す
④ステータスバーに「処理②を実行中」を表示させる
2回目の処理を呼び出す
⑤ステータスバーに「処理③を実行中」を表示させる
3回目の処理を呼び出す
⑥ステータスバーの表示設定をFalseにする
⑦元のステータスバーの表示設定を元の表示設定に戻す
Sub Main2()
Dim oldStatusBar As String
'元のステータスバーの表示設定(True or False)…⓵
oldStatusBar = Application.DisplayStatusBar
'ステータスバーの表示をTrueにする…⓶
Application.DisplayStatusBar = True
'処理1…⓷
Application.StatusBar = "処理①を実行中"
Call LoopSample
'処理2…⓸
Application.StatusBar = "処理②を実行中"
Call LoopSample
'処理3…⓹
Application.StatusBar = "処理③を実行中"
Call LoopSample
'ステータスバーの表示をFalseにする…⓺
Application.StatusBar = False
'元のステータスバーの表示設定に戻す…⓻
Application.DisplayStatusBar = oldStatusBar
End Sub
Sub LoopSample()
Dim i As Integer
'1行目から500行目までを繰り返す
For i = 1 To 500
'セルを選択する
Cells(i, 1).Select
Next i
End Sub
マクロを実行するとステータスバーが↓のように変化していきます。
今何の処理を実行しているのかユーザーに分かりやすいように表示させる使い方です。

ステータスバーの色やフォントは変更できるか?
「ステータスバー 色」などのキーワードで検索がよくされているようなので、色やフォントを変更したいと考えている方も多いようですが、残念ながらステータスバーの文字の色やフォントは変更できません。
ステータスバーに表示できる文字数は最大何文字か?
ステータスバーに表示される文字数は、ウィンドウのサイズにもよりますが、私がウィンドウサイズを最大にして試した結果は全角169文字まで表示されました。
170文字以上になると最後が「···」となり、途中までが表示された状態になります。
文字数がオーバーした場合、ウィンドウのサイズに応じて表示できるところまでを表示し、入り切らない部分は「···」となるようです。
文字数をオーバーしていてもマクロのエラーは発生しませんでした。
※コードのコピー利用について
・コードのコピーは自由におこなっていただけます。
・気を付けて作成はしていますがコードには誤りがある可能性があります。
・自身の環境で動作確認をしていますが、すべての方の環境で同様に動くことは保証できません。
・データの破損等の責任は負いかねますのでご自身の責任のもとお使いください。