教えて!ExcelVBA!

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

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

f:id:m_kbou:20200418090303p:plain

ステータスバーにメッセージを表示させる方法について説明します。

 

 

構文

記述方法は以下の通りとなります。

Application.StatusBar = True

Application.StatusBar = ”[文字列]”

Application.StatusBar = False

[説明]:

ステータスバーを表示させるには「Application.StatusBar = True」と記述します。また、ステータスバーにメッセージを表示させるには「Application.StatusBar = ”[文字列]”」と記述し、ステータスバーを非表示にするには「Application.StatusBar = False」と記述します。[文字列]にはステータスバーに表示したいメッセージ内容を記述し、「”」(ダブルクォーテーション)で囲みます。内容を纏めると、「最初にステータスバーを表示して下さい。次に[文字列]で記述したメッセージをステータスバーに表示して下さい。最後にステータスバーを非表示にして下さい。」との意味になります。

[記述例]:

Application.StatusBar = True
Application.StatusBar = "処理中です。しばらくお待ち下さい。"
Application.StatusBar = False

 

使い方

使い方について具体的に説明します。

ステータスバーを表示する方法

ステータスバーを表示する方法について説明します。

[プログラミング例]:

Sub サンプル()
  Application.StatusBar = True
End Sub

内容は、「ステータスバーを表示して下さい。」との意味になります。

f:id:m_kbou:20210218074907p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。この時点ではステータスバーが表示されていません。<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210305083726p:plain

②処理結果は以下の様になります。ステータスバーが表示されました。

f:id:m_kbou:20210305083801p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

ステータスバーを表示する方法についての説明は以上です。

 

ステータスバーにメッセージを表示する方法(直接入力)

ステータスバーに直接入力したメッセージを表示する方法について説明します。

[プログラミング例]:

Sub サンプル()
  Application.StatusBar = "処理中です。しばらくお待ち下さい。"
End Sub

内容は、「ステータスバーに”処理中です。しばらくお待ち下さい。”のメッセージを表示して下さい。」との意味になります。

f:id:m_kbou:20210218075010p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。この時点ではステータスバーにメッセージが表示されていません。<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210305083801p:plain

②処理結果は以下の様になります。ステータスバーに「処理中です。しばらくお待ち下さい。」のメッセージが表示されます。

f:id:m_kbou:20210305085332p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

ステータスバーに直接入力したメッセージを表示する方法についての説明は以上です。

 

ステータスバーにメッセージを表示する方法(変数使用)

ステータスバーに変数を使用したメッセージを表示する方法について説明します。

[プログラミング例]:

Sub サンプル()

  Dim 件数 As Double

  For 件数 = 1 To 5000
    Application.StatusBar = 件数 & "件目です。"
  Next

End Sub

内容は、「最初に変数:件数を指定します。次にFor~Next文を使用して変数:件数に1~5000の数値をセットしながら処理を回します。処理が回っている間は変数:件数にセットされた値を使用してステータスバーに”***件目です。”のメッセージを表示して下さい。」との意味になります。

f:id:m_kbou:20210218075211p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。この時点ではステータスバーにメッセージが表示されていません。<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210305083801p:plain

②処理結果は以下の様になります。ステータスバーに「***件目です。」のメッセージが表示されます。

f:id:m_kbou:20210305090008p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

ステータスバーに変数を使用したメッセージを表示する方法についての説明は以上です。

 

ステータスバーを非表示にする方法

ステータスバーを非表示にする方法について説明します。

[プログラミング例]:

Sub サンプル()
  Application.StatusBar = False
End Sub

内容は、「ステータスバーを非表示にして下さい。」との意味になります。

f:id:m_kbou:20210218075324p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。この時点ではステータスバーが表示されています。<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210305083801p:plain

②処理結果は以下の様になります。ステータスバーが非表示になります。

f:id:m_kbou:20210305090524p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

ステータスバーを非表示にする方法についての説明は以上です。

 

おわりに

今回はステータスバーの表示方法・メッセージの表示方法・非表示方法について説明しました。ステータスバーを上手く利用すると、マクロ操作者に現在の処理状況を詳細に伝える事ができます。これにより操作者は処理が問題無く動いている事が把握できる事で安心感を得られます。是非有効に活用して頂き、操作者にとって優しいマクロ作りを心掛けて下さい。