VBA- Как изменить значение в диапазоне ячеек, если выполнено условие - PullRequest
0 голосов
/ 21 марта 2020

Я хотел бы спросить, как изменить значение в диапазоне ячеек.

Я хочу изменить значение в диапазоне ячеек в столбце C на столбец Q, если выполняется условие в столбце B Если ячейка в столбце B = FALSE, тогда все значения в столбце C в Q изменится на «0»

enter image description here

результат будет таким: ..

enter image description here

Я пытался с кодом, но это занимает так много времени, потому что я использую так много "IF"

Ответы [ 3 ]

2 голосов
/ 21 марта 2020

Это будет сделано мгновенно из VBA ...

Sub Brexlin()

    [c1:q5] = [if(c1:a5,c1:q5,)]

End Sub

Обновление

После ваших комментариев смотрите обновленный ответ ниже ...

Sub Brexlin()

    [c1:q5] = [if(b1:b5="DARK",c1:q5,)]

End Sub
1 голос
/ 21 марта 2020

Попробуйте этот простой макрос:

Sub ZeroMaker()
    Dim i As Long
    For i = 1 To 5
        If Cells(i, 2).Value = False Then Range(Cells(i, "C"), Cells(i, "Q")).Value = 0
    Next i
End Sub
1 голос
/ 21 марта 2020

Не уверен, где / как вы получаете ваши значения, но, поместив

=IF($B1 = FALSE, 0, "YourValueSource")

в C1 и скопировав его в Qn (где n - номер последней строки), вы обработаете значения настройки до 0. Теперь вы просто нужно добавить код для замены «YourValueSource» на значение или формулу, которую вы хотите в каждой ячейке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...