У меня событие Private Sub Worksheet_Change
. Диапазон E4
- это список проверки данных с 5 строковыми элементами. Для первых четырех я хочу ввести формулу в диапазоне F4:Z4
. Для пятого элемента я хочу, чтобы диапазон F4:Z4
был пустым. Я все время получаю ошибку несоответствия типа с первой строкой IF
. Что я делаю не так и как это исправить?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Range
Set x = Range("E4")
If x.Value = "Standard 2020 CAD" Or "Standard 2020 USD" Or "Standard 2020 Pipeline CAD" Or "Standard 2020 Pipeline USD" Then
If Not Application.Intersect(x, Range(Target.Address)) Is Nothing Then
Range("F4:Z4").Formula = "=INDEX($XBR$4:$XBU$24,MATCH(F3,$XBQ$4:$XBQ24,0),MATCH($E$4,$XBR$3:$XBU$3,0))"
End If
Else
If Not Application.Intersect(x, Range(Target.Address)) Is Nothing Then
Range("F4:Z4").Value = ""
End If
End If
End Sub
Кроме того, я бы также хотел заблокировать диапазон F4:Z4
, если он содержит формулы первые четыре элемента списка) и разблокируется, если он пуст.