教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA その他操作】ステータスバーにメッセージを表示(Application.StatusBar)にはどうすればいいの?教えて!

構文

構文は以下の通りです。

Application.StatusBar = "メッセージ"

解説

StatusBarは、ステータスバーにメッセージを表示するために使用される関数です。メッセージには、表示するメッセージの内容をダブルクォーテーションで囲んで指定します。

使い方

1. 単純なメッセージの表示

最も基本的な使い方は、単純なメッセージをステータスバーに表示する方法です。

Application.StatusBar = "処理中..."

この例では、"処理中..."というメッセージがステータスバーに表示されます。

2. 変数を含めたメッセージの表示

変数の値を含めたメッセージを表示するには、変数を連結して指定します。

Dim name As String
name = "John"
Application.StatusBar = "こんにちは、" & name & "さん"

この例では、変数nameの値が"John"である場合に、"こんにちは、Johnさん"というメッセージがステータスバーに表示されます。

3. メッセージのクリア

メッセージをクリアしてステータスバーを空にするには、空の文字列を指定します。

Application.StatusBar = ""

この例では、ステータスバーが空になり、何も表示されなくなります。

プログラミング例

以下に、実際のプログラミング例を示します。

1. ファイルの読み込み状況を表示する

Sub ReadFile()
    Application.StatusBar = "ファイルを読み込んでいます..."
    ' ファイルの読み込み処理
    Application.StatusBar = "ファイルの読み込みが完了しました。"
End Sub

この例では、`ReadFile`というサブルーチン内でファイルの読み込み処理を行いながら、ステータスバーにメッセージを表示します。処理の開始時には"ファイルを読み込んでいます..."というメッセージが表示され、処理の終了時には"ファイルの読み込みが完了しました。"というメッセージが表示されます。

2. ループ処理の進捗状況を表示する

Sub LoopProcess()
    Dim i As Long
    Dim total As Long
    total = 100
    Application.StatusBar = "処理中..."
    For i = 1 To total
        ' ループ処理の実行
        ・・・・・・・・・
        Application.StatusBar = "処理中... " & i & "/" & total
    Next i
    Application.StatusBar = "処理が完了しました。"
End Sub

この例では、LoopProcessというサブルーチン内でループ処理を行いながら、ステータスバーに進捗状況を表示します。ループ処理の実行中には"処理中... 1/100"、"処理中... 2/100"といったように、現在のループ回数と総ループ回数が表示されます。処理の終了時には"処理が完了しました。"というメッセージが表示されます。

まとめ

StatusBarは、Excelのステータスバーにメッセージを表示するために使用されます。単純なメッセージや変数を含めたメッセージを表示したり、メッセージをクリアしてステータスバーを空にすることができます。StatusBar関数を活用することで、ユーザーに処理の進捗状況やメッセージを視覚的に伝えることができます。是非活用してください。