今日は「ステータスバー」について、ご紹介します。 ステータスバーは、スプレッドシートの下にある部分のことを言います。 複数のセルを選択した場合に、ステータスバーには平均、データの個数、合計などが表示されます。 以下の図では、選択している「本 処理に時間がかかる場合、ステータスバー(Excelの左下にあるエリア)に進捗状況を表示させる、ということをしがちである。 利用者に対して親切な仕組みではあるが、例えば1000回ループする際に1000回ステータスバーを更新する必要はあるのだろうか? 処理が終わったら、Application.StatusBarにFalseを指定して、ステータスバーの表示を戻してくださいね。 UserFormを使ったメッセージ(Excel 97まで) 次に、Windowsのアプリケーションなどでよく見かける[お待ちください]ダイアログボックスを表示する方法を解説します。 この機能を利用して、Excelの操作がどのようにVBAで記録されるのか見てみましょう。 [ 開発 ] タブ 、もしくは、ステータスバーに配置された [ マクロの記録 ] ボタン を押下します。 StatusBarプロパティ は、ステータス バーの文字列を設定します。値の取得および設定が可能です。文字列型 (String) の値を使用します。 Excel 側でステータス バーを制御しているとき、このプロパティは False を返します。 タイトルバーやステータスバーもマクロから操作できます。 Excel のタイトルバー自身は、 Application オブジェクトの Caption プロパティで設定できます。 細かく表示変更するには向かないので、主に処理モードや処理主体の名称を表示します。 エクセル・マクロで次のように、For Next ループの進行状況をStatusBarに表示しています。’MsgBox "ループ数=" & mApplication.StatusBar = "ループ数=" & mMsgboxをコメントで使用しない状態にすると、mの値が表示されますが、途中 ステータスバーは主に、計算に時間がかかる処理をvbaを使って行う際に利用します。vbaの実行中はエクセルが固まってしまって反応しなくなりますが、この状況が長時間続くとユーザーは本当に計算が行われているのか、エクセルがフリーズしてしまったのかわからなくなり不安になってきます。