У меня есть макрос, который меняет цвет ячейки (смещение (0,1)), если ячейка слева говорит о доставке, а ячейка смещения пуста. Макрос вызывается изменением в списке проверки данных. Смотри ниже. Тем не менее, код не делает, как я хочу. Он не запускается каждый раз при сортировке списка проверки данных. Я хочу, чтобы это выполнялось каждый раз, когда параметр проверки данных изменяется в столбце W. (Список проверки применяется ко всем ячейкам в столбце W).
Код работает, но работает так, как я запускаю макрос на листеменять.
Сам макрос
Sub ConditionalFormatSharepointDeliveryLink()
Dim Lastrow As Long, n As Long, cell As Range, ws As Worksheet
Lastrow = Sheets("Sub Tasks").Range("W" & Rows.Count).End(xlUp).Row
n = 4
For Each cell In Worksheets("Sub Tasks").Range("W4:W" & Lastrow)
If cell.value = "Delivered" And cell.Offset(0, 1).value = "" Then
cell.Offset(0, 1).Interior.Color = vbRed
End If
n = n + 1
Next cell
End Sub
Как я вызываю макрос
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Lastrow As Long, n As Long, cell As Range, ws As Worksheet
Lastrow = Sheets("Sub Tasks").Range("W" & Rows.Count).End(xlUp).Row
For Each cell In Worksheets("Sub Tasks").Range("W4:4" & Lastrow)
If Target.Address(True, True) = cell Then
Select Case Target
Case "Delivered"
Call ConditionalFormatSharepointDeliveryLink
End Select
End If
End Sub
```````````````````````````
[![enter image description here][1]][1]
[1]: https://i.stack.imgur.com/BJzZB.png