Я пытаюсь сделать l oop через каждую строку в диапазоне J16: P19, и на каждой итерации необходимо проверять, если значение в ячейке = 3, и если текст в соответствующем столбце (диапазон J15: J19) присутствует в диапазоне (W1: W7).
например. Если ячейка (K17) в строке (J17: P17) = 3 и соответствующее имя столбца (K15) этой ячейки присутствует в диапазоне (W1: W7); значение в Q17 должно быть пересчитано на 1.
Это должно быть сделано для каждой строки в диапазоне. Мой код выглядит так:
private Sub CommandButton2_Click()
dim rng As Range
dim i As Range
dim row As Range
Set rng = Range("j16:p19")
For Each row In rng.Rows
For Each i In row.Cells
If i.Value = 3 & Cells(i,15) %in% Range("w1:w7") Then
Cells(row,22).Value = Cells(row,17).Value -1
Else
Cells(row,22).Value = Cells(row,17).Value
End if
Next i
Next row
End sub
Он работает, когда я выбираю диапазон только для одного столбца, и без второй части оператора if. У вас есть предложения по решению моей проблемы? заранее спасибо