シートのChangeイベントを使う
標準モジュール内にはこの関数は置けないよ
'API宣言---魔法の呪文みたいなもの Private Declare Sub Sleep Lib "KERNEL32.dll" _ (ByVal dwMilliseconds As Long) Private Sub Worksheet_Change(ByVal Target As Range) 'セルが変化したら、以下のコードを実行 '変化のあったセルは Target であらわされる '変数の宣言 Dim i As Integer Dim ColorDat 'カラーインデックス定義 ColorDat = Array(15, 48, 16, 56, 16, 48, 15) 'エラートラップ On Error Resume Next 'そのセル背景色を With Target.Interior '配列ColorDatに書かれたデータ数だけ繰り返す For i = 0 To UBound(ColorDat) 'ColorDatのi番目のカラー番号でセル背景色を塗る .ColorIndex = ColorDat(i) 'API 30ミリ秒 Wait Sleep 30 Next i '最後にセルの背景色を解除 .ColorIndex = xlNone End With End Sub
ネタ元