| すぐマク YNxv9g1810 | Home | Search | Contents | Gallery | Introduction | Service | Support | What's New! |
| プログレスバーコントロールで進捗状況を表示するには? |
|
|
|||||
|
長時間かかる処理の実行中にユーザーが誤った操作をしないために、進捗状況を画面に表示しておきたいのですが、手軽に使える方法を教えてください。 |
|
||||||||||||||
![]() プログレスバーコントロールを利用すれば、右図のように進捗状況を手軽に表示することが可能になります。 このコントロールはユーザーフォームまたは、ワークシートに作成することができます。 ご利用される場合は、Excel2000以上をお勧めします。 A.ユーザーフォームに作成する方法 ![]() 1. コントロールツールボックス VBE画面でユーザーフォームをデザインするときに、左図のようなツールボックスが表示されます。(プログレスバーコントロールが追加済) プログレスバーコントロールは標準では表示されないので、使用する前に追加しておきます。 2. ツールボックスへの追加方法 (1) VBE画面の[ツール]メニュー [その他のコントロール]をクリック (2) [Microsoft ProgressBar Control, version 6.0]をチェックして [OK]ボタンをクリック ※マクロを実行するだけのパソコンは、チェックがなくても表示可能 3. プログレスバーコントロールをユーザーフォームに作成する方法 テキストボックスなどの他のコントロールと同様で、ツールボックスの ProgressBarコントロールをクリックするとマウスボインタの形状が変わるので、ユーザーフォーム上に矩形を描くだけです。コマンドボタンなど他のコントロールを、同じユーザーフォームに描いてもかまいません。 4. マクロの作成方法 標準モジュールの通常の業務処理の流れの中に、プログレスバーコントロールに情報を与えるコードを組み込みます。次に一例を示します。
'-----------------------------------------------------------------------------------------
Sub プログレスバーで進捗状況を表示する_ユーザーフォーム()
総件数 = 10000 '反復処理する総件数をセットする
UserForm1.Show 'ユーザーフォームを表示する
For 処理件数 = 1 To 総件数 '1から処理を始めて変数「総件数」に達するまで
' ここで必要な処理を行う
UserForm1.ProgressBar1.Value = 処理件数 / 総件数 * 100 'プログレスバーの値を設定
Next '繰り返す
Unload UserForm1 'ユーザーフォームをメモリから削除する
End Sub
'-----------------------------------------------------------------------------------------
B.ワークシートに作成する方法 1. コントロールツールボックス ワークシート画面で、[表示]メニュー[ツールバー]-[コントロールツールボックス]とクリックすると右上図のようなツールボックスが表示されるので、 [コントロールの選択]をクリックして少し待ってから、 ![]() 右下図のように 「Microsoft ProgressBar Control, version 6.0」をクリックするとマウスボインタの形状が変わるので、ワークシート上に矩形を描きます。 サンプルデザインは、Galleryの「進行案内B」 を参考にしてください。 2. マクロの作成方法 標準モジュールの通常の業務処理の流れの中に、プログレスバーコントロールに情報を与えるコードを組み込みます。次に一例を示します。
'-----------------------------------------------------------------------------------------
Sub プログレスバーで進捗状況を表示する_ワークシート()
Worksheets("Sheet1").Activate '「お待ちください」シートをアクティブにする
総件数 = 10000 '反復処理する総件数をセットする
For 処理件数 = 1 To 総件数 '1から処理を始めて変数「総件数」に達するまで
' ここで必要な処理を行う
ActiveSheet.ProgressBar1.Value = 処理件数 / 総件数 * 100 'プログレスバーの値を設定
Next '繰り返す
End Sub
'-----------------------------------------------------------------------------------------
プログレスバーコントロールのプロパティ Excel 2002 および 2000での主なプロパティは次のとおりです。 |
||||||||||||||
|
||||||||||||||
|
もう少し詳しい説明が 「プログレスバーコントロールのプロパティ一覧」 にあります。 サンプルブックのダウンロード ユーザーフォーム用 (xlsファイル47KB) ワークシート用 (xlsファイル54KB) Internet Explorer 4.0以上と、Excel 97以上がインストールされたパソコンでは、サンプルブックを直接、開くことも可能です。しかし、そのまま試すとエラーが出る場合があるので、一旦、ハードディスクに保存してください。 |
| http://www.geocities.jp/happy_ngi/ | Home | Contents | Gallery | Introduction | Service | Support | What's New! |