サンプルではシェープの一種であるワードアートを用いて処理中の表示
を行います。ワードアートの描画には AddTextEffect を用います。時間の
かかる処理のはじめに描画し、処理後に削除すると効果的です
Private Sub CommandButton1_Click()
Dim MyCell As Range
Dim MyShape As Shape
Dim T As Double, L As Double
With Range("E10")
'Shapeを配置する位置(左上)をセルE10を基準として決定
T = .Top: L = .Left
End With
'ワードアートの描画
Set MyShape = ActiveSheet.Shapes.AddTextEffect _
(msoTextEffect1, " 処 理 中 ", "MS ゴシック", 72, _
msoTrue, msoFalse, L, T)
'処理 - ここではセルA1からE100にセル番地を書き込みます
For Each MyCell In ActiveSheet.Range("A1:E100")
MyCell.Value = MyCell.Address(False, False)
Next
MsgBox "終了"
MyShape.Delete
End Sub
|