Страницы: 1
RSS
Увеличить значение в ячейке диапазона, выбранной в зависимости от указанного параметра
 
Доброго времени суток.
Имеются две ячейки. L14, L15. Если L14 = 1, а L15 = 0, то увеличиваем В24 на 1. Если L14 = 2, а L15 = 0, то увеличиваем D24 на 1 и далее аналогично. При нескольких десятках вариантов возникает очень много строк кода. Как реализовать конструкцию в цикле или как то общеописательно, что бы был один блок кода и он применялся для всех вариантов сравнения?
Код
         If Range("L14") = 1 And Range("L15") = 0 Then
           Range("B24") = Range("B24") + 1
         ElseIf Range("L14") = 2 And Range("L15") = 0 Then
           Range("D24") = Range("D24") + 1
         ElseIf Range("L14") = 3 And Range("L15") = 0 Then
           Range("F24") = Range("F24") + 1
        End If
 
Артем Бейфус, оптимизация это хорошо, но нужно понимать что делает макрос и лучше с файлом примером.
Код
Sub sd()
If Range("L15") = 0 And Range("L14") > 0 Then
X = Range("L14") * 2
    Cells(24, X) = Cells(24, X) + 1
End If
End Sub
Изменено: Mershik - 17.04.2021 19:26:48
Не бойтесь совершенства. Вам его не достичь.
 
Цитата
Артем Бейфус написал: Оптимизация кода из If Else End в цикл
Название непонятное. Предложите другое, отражающее задачу. Модераторы заменят.
 
Сравниваются две ячейки и в зависимости от того, какой вариант был в них вбит, срабатывают счетчики в ячейках с шагом через один столбец.
 
L15 как влияет?
В коде Вы сравниваете L15 с нулем. Пустая ячейка не 0. Какие действия, если ячейка пустая?
Страницы: 1
Наверх