Sample Site

プログレスバーの色々

処理するデータが非常に多く、時間がかかる場合、どの程度処理が進んでいるかイライラしたり、不安になったりする事がありますがそのような場合に、処理の進捗状況を確認出来るようにするのがプログレスバー関係のアイテムの役割です。

プログレスバーに類する様なアイテムとしては以下があります。
●ステータスバーの利用
ステータスバー設定メニュー簡易プログレスバー

ステータスバーはExcelの最下部に位置して、Excelに関する様々な状態を表示する役割があります。 ステータスバーにはいろいろ便利な機能があり(範囲を指定するだけで、様々な統計情報が表示される等々) これを、処理の進行状態を表示する簡易プログレスバーとして使えます。
比較的簡単にプログレスバー的なものが出来ますが、表示が最下部でなおかつ、小さいので少し見にくい欠点があります。

●プログレスバーコントロールの利用
プログレスバーコントロールの選択プログレスバーコントロールtoolbox

処理の進捗状況の表示に最も普通に用いられるのが、プログレスバーです。 なにか少し時間のかかる処理の場合、様々なアプリ・言語で用いられています。Excelのvbaでも同様なプログレスバーを表示させることが出来ます。デフォルトではプログレスバーコントロールは表示されないので、プログレスバーコントロールの追加の操作を行う必要があります。

●図形の利用
図形のwidthプロパティの値を、処理の進行とともに増加させることによって、バーが横に伸びていく様に表示にできます。

●条件付き書式の利用
excelの条件付き書式の機能を利用して、セルの値を処理の進行とともに増加させる事で、プログレスバー的な表示に出来ます。条件付き書式はvbaで設定すると結構コードが多く、手間がかかるのでマクロの記録で基本的な部分を生成させそれを手直しして使っています。



ステータスバーの利用
ステータスバー
この例は、簡単な計算の進捗状況をセルの範囲とステータスバーに表示させるものです。 1~1000までの数字を1ずつ増加させて、その数値が100の倍数になった毎に、その進捗状況を セルの範囲と下部のステータスバーに表示しています。 簡易的に、文字列の■を追加してゆく事でプログレスバー的な表示をさせています。

ステータスバーの利用(標準モジュール)


ステータスバーを利用して簡易的なプログレスバーを表示させるサンプル(ダウンロード)

プログレスバーコントロールの利用
プログレスバー

プログレスバーを利用するには、そのプログレスバーコントロールをアクティブにする必要があります。

excelメニュー

1)[開発タブ]->[デザインモード選択][挿入モード選択]->コントロールの選択boxで工具マークをクリック

2)コントロールの選択BOXが表示されるので「Microsoft Progressbar Contorol」を選択

3)ツールboxにプログレスバーコントロールが表示される


プログレスバーは良く目につくように通常、サブフォームによるダイアログを出して、そこにプログレスバーを設置します。今回もその標準的な構成にしています。
コントロールの選択プログレスバーコントロールtoolboxサブフォームの作成

プログレスバーコントロールの利用(標準モジュール)


プログレスバーコントロールを利用してプログレスバーを表示させるサンプル(ダウンロード)


図形の利用
図形の利用

図形のwidthプロパティの値を、処理の進行とともに増加させることによって、バーが横に伸びていく様に表示にできます。この例ではワークシート上に図形を設置しましたが、プログレスバーコントロールの利用の時の様にサブフォームに設置することも出来ます。

図形の利用によるプログレスバーの例


図形を利用してプログレスバーを表示させるサンプル(ダウンロード)

条件付き書式の利用
共通サンプル

Excelの機能に「条件付き書式」があり、セルごとにある条件下の色の変化、簡易バー表示等々様々な動的な書式を設定する機能がありますが、そのうちの簡易バー表示(セル内の数値に対応してそのセル内にバー状の領域を表示させる機能)を用いてプログレスバーを出来ないかやってみました。
条件付き書式はvbaで設定すると、コード的に量が多いのでここはマクロの記録で自動生成させてそれを手直しして使っています。コードを整理するためその部分は別モジュールのサブルーチンにしてあります。

条件付き書式の利用の例(メイン部分)


条件付き書式の設定(サブルーチン部分)


プログレスバー_条件付き書式の利用サンプル(ダウンロード)

プログレスバーの色々のまとめ(総まとめ)

以上のTIPSをまとめた共通サンプルファイルです。
4種類のプログレスバーの動きを実際に試せます。



Sample Site