プロが教えるわが家の防犯対策術!

拙いですが、以下のようなマクロを組みました。このマクロが稼働していることを、画面上にプログレスバーを表示して進捗状況として示したいのですが、よくわかりません。どのようなマクロを組んだらよいか、お教え下さい。
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sub 時間割のコピー1()

Dim j As Integer

Application.ScreenUpdating = False

Range("BF20:BF30").Name = "理系1"
Range("BH20:BH30").Name = "理系2"
Range("BJ20:BJ30").Name = "理系3"
Range("BL20:BL30").Name = "英国1"
Range("BN20:BN30").Name = "英国2"
Range("BP20:BP30").Name = "英国3"
Range("BR20:BR30").Name = "数社1"
Range("BT20:BT30").Name = "数社2"
Range("BV20:BV30").Name = "数社3"

Range("理系1").Select
Selection.Copy
Range("AG20").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Range("AG20").Activate

Do Until ActiveCell.Offset(1, -4).Value = ""
ActiveCell.Offset(1, 0).Select

If ActiveCell = "" Then
ActiveCell.ClearContents
End If

Loop

Range("AG20:AH20").Select
Selection.Activate
For j = 1 To 10
With Selection.Offset(j, 0)
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.MergeCells = True
End With
Next j
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.MergeCells = True
End With

Range("理系2").Select
以下、この形が8回繰り返されます

End Sub

A 回答 (2件)

#1でご紹介の、記事の初めの方に、いみじくも書かれています。


>プログレスバーを作るのに必要な事、以下に。
結局、この質問の作業の進捗率を正しく捉えられるか、ということを考えてみましたか。
観念的に初めと終わりを考え、途中に10%の処理が終わった瞬間があるはずだ、といった考えで考えて質問していませんか。
全体の時間というのはなかなか処理コードからでは出てこないものと思います。
繰り返しがある場合(レコードなどファイルIOを行うなど、内部処理と比較にならない時間を要するものの繰り返しなど)、毎回繰り返しは同じ時間と看做して、進捗率に看做す手はあるでしょう。しかし毎回繰り返しは同じ時間といえるかどうか、繰り返し外で時間がかかるタイプの処理ならば、どうするのか。
上記記事などには書いてなかったと思うのですが、いっそテストや本番の処理時間を実測して、毎回変わらないとして、終了が100秒後として10秒経ったら10%の表示をしてしまうのもあるような気がする。しかしこの仮定は怪しい。
ーーー
質問の>プログレスバーを表示や進捗率が算出されて表示するコードなど実例がWEB上に沢山あるで章しょう。
ーー
>・・状況として示したいのですが
これも質問者の趣味に回答者がつき合わされているようなもので、質問のコードの実行では、すぐ終わって、バー表地などの対象外ではないですか。
基本的なこと以外は、思いついたあることをしたい場合は、質問者で調べて勉強すべきです。
    • good
    • 0
この回答へのお礼

回答をいただき、ありがとうございました。まだまだ勉強不足であることを通関しました。

お礼日時:2008/10/20 21:16

Web検索すれば参考ページがヒットしますよ。



プログレスバー
http://www.h3.dion.ne.jp/~sakatsu/ProgressBarTop …
    • good
    • 0
この回答へのお礼

ありがとうございました。もう一度勉強をし直します。

お礼日時:2008/10/20 21:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!