即効テクニック |
サンプルではシェープの一種であるワードアートを用いて処理中の表示を行います。ワードアートの描画には 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