|
アクティブセルの色が「赤」に変わります。範囲選択の場合でもアクティブセルのみ対象。
色月セルを選択したまま終了すると、選択前の色情報を保存してないから、セル移動後は色が無い物として扱う。(無色にされる。)
セルのアクティブセル認識色と同色の色に変えた場合、無色にされる。選択する前から赤の場合はそのままです。
不具合も色々あると思いますから、参考程度に。
条件付書式を使ってもいいんだけど....。
注)セルの色を変えているから、セルの使用履歴に反映されます。
つまり、UsedRangeが拡大します。
**************
標準モジュール
Public savad As String
Sub Auto_Open()
'↓ 対象シート名
If ActiveSheet.Name = "Sheet1" Then
savad = ActiveCell.Address
End If
End Sub
**************
シートモジュール(上記コードの対象シート名と同じシート)
Private OrgColor As Integer
Private PrevCell As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not PrevCell Is Nothing Then
On Error Resume Next
If PrevCell.Interior.ColorIndex <> xlNone Then
If PrevCell.Interior.ColorIndex <> 3 Then
'irono = PrevCell.Interior.ColorIndex
'PrevCell.Interior.ColorIndex = irono
Else
PrevCell.Interior.ColorIndex = OrgColor
End If
End If
On Error GoTo 0
Else
On Error Resume Next
Range(savad).Interior.ColorIndex = xlNone
On Error GoTo 0
End If
OrgColor = ActiveCell.Interior.ColorIndex
ActiveCell.Interior.ColorIndex = 3
Set PrevCell = ActiveCell
End Sub
Private Sub Worksheet_Activate()
savad = ActiveCell.Address
End Sub
|
|