office  セルをプログレスバーとして利用する

  
要VBA/サンプル有
TOPExcel/Word/PowerPoint
○ポイントは条件付き書式のデータバー
 セルをプログレスバーとして利用すると、ちょっとおしゃれですね。

 そこでEXCEL2010の機能「データバー」を利用して、プログレスバーを作ってみましょう。

(1) プログレスバーを表示するセル(3行)を選択して、[ホーム]タブ>[条件付き書式]>[データバー]>[塗りつぶし(単色)](図1)
 (この例では B1,B2,B3 とします)
office
(図1)データバーを設定

(2) セルB1をプログレスバー、セルB2を最小値設定用セル、セルB3を最大値設定用セルとし(図2)、入力後に2列,3列を非表示。
 (この例では B2に 0 、B3には 1000 と入力しておきます。実際はB3に最大ループ回数を入力します)
office
(図2)プログレスバー条件値設定

(3) [開発]タブ>[挿入]とし、ActiveXコントロールのコマンドボタンをシート上に配置(図3)
 (CommandButton1が作成されます)
office
(図3)ActiveXコントロールのコマンドボタン

(3) CommandButton1上で右クリック>[コードの表示(0)]

(4) コードウインドウのCommandButton1_Clickイベントプロシージャの記述は下記。
(このコード例は、シート1のA列に順次記入するものです)


(5) 必要に応じて、ループ処理のルーチンをコーディングする。


○こんな時に使える
・VBAで重いループ処理を実行する
・見栄えを良くする
・ユーザーのストレスを軽減する

○応用またはその他の方法
プログレスバーを表示する
・ループ進行のパーセンテージを表示する

○サンプル
サンプルファイルはこちら(要解凍) 15KB

○注意
 WindowsOSの処理自体が重い場合はプログレスバーの進行は止まります。