Когда результат формулы изменяется в моей таблице в диапазоне столбца K («K2: K5»), я хочу, чтобы вся строка в таблице была заполнена цветом.Но я хочу, чтобы строка была цветной, если результат не равен 0.
Так, например.если результат изменяется в K2 (и не равен 0), вся строка A2: L2 будет окрашена.Формула ссылается на значения, которые вы выбираете из выпадающих списков (созданных из «проверки данных» в меню Excel на вкладке «Данные»).Эти выпадающие списки расположены в той же строке (например, «D2: J2»), что и соответствующая формула.Значения в раскрывающемся списке относятся к диапазону на том же листе за пределами таблицы.До сих пор у меня есть один код для рабочего листа, касающийся события изменения, которое вызывает модуль с сабвуфером, который изменит цвет строки.
Но это не работает, и я не получаю сообщений об ошибках.
Это код для события изменения рабочего листа:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "§D2:§J2" Then
Color_Row
End If
End Sub
Здесь целевой адрес должен быть равным всему диапазону, но я не знаю, как дать правильный синтаксис для этого.
Вот код для изменения цвета в строке:
Sub Color_Row()
Dim r As Long, c As Long 'r=rows in the excel sheet | c= value of cell in _
column k
Dim numrow As Long 'last row with data
Dim tblR As Long 'tablerow
numrow = TimeMeasure.Range("K" & Rows.Count).End(xlUp).Row
For r = 2 To numrow
tblR = r - 1
c = Cells(r, 11).Value
If c <> 0 Then
[TimeDist].Rows(tblR).Interior.Color = 12961279
Else
[TimeDist].Rows(tblR).Interior.Color = xlNone 'no fill color
End If
Next
End Sub
Я вошел в этот код и наблюдал переменные, такие как c, r, numrow, tblR, и все это, кажется, соответствует моей таблице(имя моей таблицы - TimeDist).
Единственное, что я заметил, это то, что никакие значения никогда не присваивают c в цикле.Я знаю, что этот код работает в другой книге, но затем я вручную ввожу новое значение в определенную ячейку за пределами таблицы, что изменяет результат формулы в таблице (тогда строки окрашиваются)
Iочень благодарен за любую помощь в этом.