シートの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
ネタ元
![]()