اون کد، رنگ فعلی سلول اول سطری را که انتخاب میشه را ذخیره میکنه (در سلول B2) و بعد از انتخاب سطر دیگر، رنگ قبلی را به سطر قبلی میده.
میتونید سطر اول را مخفی کنید.
اون کدی که گذاشتید، یه ایراد داره: اگر Conditional Formatting تعریف کرده باشید، اونها را پاک میکنه.
اگر این مشکل را ندارید، که به این صورت میتونید استفاده کنید:
کد:
Option Explicit
Const iInternational As Integer = Not (0)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim iColor As Integer
On Error Resume Next
iColor = Target.Interior.ColorIndex
If iColor < 0 Then
iColor = 36
Else
iColor = iColor + 1
End If
If iColor = Target.Font.ColorIndex Then iColor = iColor + 1
Cells.FormatConditions.Delete
ActiveCell.EntireRow.FormatConditions.Add Type:=2, Formula1:=iInternational
ActiveCell.EntireRow.FormatConditions(1).Interior.ColorIndex = iColor
End Sub