皆さんは、VBAでステータスバーを使ったことがありますか?
処理の進捗状況を表示したいとき、データの件数を表示したいときなど、ステータスバーの使い方を覚えておくおと便利です。
そこで今回は、
・ステータスバーとは?
といった基礎的なことから、
・ステータスバーの使い方
・ステータスバーで進捗状況を表示する方法
・ステータスバー以外の進捗状況確認方法とは
といった応用的な方法まで、徹底的に解説します!
ステータスバーとは?
はじめに、ステータスバーについて簡単に解説します。
ステータスバーとは、Excelの左下にあるメッセージの表示エリアのことです。
たとえば、選択したセル範囲の平均値・データの個数・合計値などを表示することができます。

Excelをよく使う方は、よく見ている方も多いのではないでしょうか。
このステータスバーに表示する値を、VBAで制御することができます!
ステータスバーの使い方
次に、VBAでステータスバーを操作する方法を解説します。
メッセージの表示方法
まず、メッセージを表示する方法について解説します。
ステータスバーは次のように書くことで、簡単にメッセージが表示できます。
使い方:
Application.StatusBar = "表示する文字"
サンプルコード:
Sub Test()
Application.StatusBar = "こんにちは!"
End Sub
実行結果:

このように、簡単にメッセージを表示することができます。
表示したメッセージをクリアする方法
次に、表示したメッセージをクリアする方法を解説します。
次のように書くことで、簡単にメッセージをクリアすることができます。
使い方:
Application.StatusBar = False
実行前:

サンプルコード:
Sub Test2()
Application.StatusBar = False
End Sub
実行後:

このように、簡単にメッセージをクリアすることができます。
【サンプル】ステータスバーで進捗状況を表示する方法
次に、サンプルコードをもとに、具体的な使い方を解説します。
今回は、処理の進捗状況を表示するサンプルコードを用意しました。
サンプルコード:
'ループ処理の用のサブシージャ
Sub roopSample()
Dim i As Integer
For i = 1 To 1000
Cells(i, 1).Select
Next i
End Sub
'メイン処理
Sub Main()
'処理1
Application.StatusBar = "進捗状況:■□□□□"
Call roopSample
'処理2
Application.StatusBar = "進捗状況:■■□□□"
Call roopSample
'処理3
Application.StatusBar = "進捗状況:■■■□□"
Call roopSample
'処理4
Application.StatusBar = "進捗状況:■■■■□"
Call roopSample
'処理5
Application.StatusBar = "進捗状況:■■■■■"
Call roopSample
End Sub
実行途中の結果:

「Main」で5回「roopSample」を実行し、実行前に「Application.StatusBar = "進捗状況:■■□□□"」のように進捗状況を表示するサンプルです。
このように、簡単に処理の進捗状況を確認することができます。
ステータスバー以外の進捗状況確認方法とは
ここまでステータスバーの使い方について解説してきましたが、進捗状況を表示する方法はステータスバー以外にもおすすめの方法があります。
それが、「プログレスバー」です。
プログレスバーを使えば、次のように視覚的にわかりやすく進捗状況を確認することができます。

プログレスバーの使い方については以下で詳しく解説しているので、気になる方は見てみてくださいね!
まとめ
今回は、ステータスバーの概要・使い方について解説しました。
ちょっとしたメッセージ表示、進捗状況の表示など覚えてくととても便利です。
使い方も簡単なので、ぜひ使ってみてくださいね!






