エクセルれんと(8)

そんなわけでセルに対するDirtyフラグ(再計算が必要であることを意味するフラグ)を探していたところ、あっさり発見した。その名もDirty。こいつをRangeオブジェクトに対して呼び出すだけで良い。


これならundoも出来るし、ほとんどCPU負荷もかからない。ごちゃごちゃ書いているうちに素晴らしいhackとしてここに完成したのであった。*1


'ひとつ前の選択範囲を記憶しておく
Public rLastRange As Range
Private Sub Worksheet_SelectionChange(ByVal rTarget As Range)
If (Not rLastRange Is Nothing) Then
rLastRange.Dirty
End If
Set rLastRange = rTarget
End Sub

*1:このテクニックは自由に使ってもらってヨロシイ!(`ω´)