поэтому у меня есть такой код:
Sub ApplyIconSets()
Dim rng As Range
Dim iset As IconSetCondition
Set rng = Application.InputBox("Select a Range", "Obtained Range Object", Type:=8)
rng.Name = "selected"
LastRow = Range("selected").Rows.Count
LastColumn = Range("selected").Columns.Count
With Range("selected")
For i = 2 To LastColumn
For r = 1 To LastRow
Set iset = .Cells(r, i).FormatConditions.AddIconSetCondition
With iset
.IconSet = ActiveWorkbook.IconSets(xl3Arrows)
.ReverseOrder = False
.ShowIconOnly = False
End With
With iset.IconCriteria(2)
.Type = xlConditionValueFormula
.Operator = xlGreaterEqual
.Value = Range("selected").Cells(r, i).Offset(, -1)
End With
With iset.IconCriteria(3)
.Type = xlConditionValueFormula
.Operator = xlGreaterEqual
.Value = Range("selected").Cells(r, i).Offset(, -1)
End With
Next r
Next i
End With
End Sub
Таким образом, в основном этот код применяет форматирование условия IconSet к ячейке на основе значения предыдущей ячейки.Код работает отлично, но есть один момент, который я хочу улучшить.
Когда я проверяю примененное условие, код вводит абсолютное значение предыдущей ячейки вместо местоположения ячейки. Like This
Однако я хочу, чтобы код вводил местоположение ячейки, чтобы при изменении данных он все равно работал, вместо того, чтобы повторно запускать код. Вот так
Я пытался изменить
.Value = Range("selected").Cells(r,i).Offset(,-1).Address
Но он возвращает строку, следовательно, условие не будет работать.
Кто-нибудь знает решение?
Заранее спасибо.