Excel VBA: Как задать значение для ячейки в зависимости от значения другой ячейки

Автор selen-1984, 07 января 2016, 12:48

selen-1984

Здравствуйте! Подскажите, как задать значение для ячейки в зависимости от значения другой ячейки.
Есть таблица с ячейками. Если значение в предыдущей ячейке равно 20, то в следующей ячейке должно проставиться число 8.
В других случаях проставляться ничего не должно.
Прикрепляю пример.

[вложение удалено администратором]

Администратор

Макрос
Sub Main()

    Dim arr(), lr As Long, i As Long, j As Long
   
    '1. Отключение монитора (для ускорения макроса).
    Application.ScreenUpdating = False
    '2. Поиск последней строки.
    lr = Columns("A").Find(What:="*", LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
        SearchDirection:=xlPrevious, MatchCase:=False, SearchFormat:=False).Row
    '3. Копирование данных в массив (для ускорения макроса).
    arr() = Range("A1:AG" & lr).Value
    '4. Функционал.
    For i = 3 To UBound(arr, 1) Step 1
        For j = 3 To UBound(arr, 2) Step 1
            If arr(i, j) = 20 Then
                Cells(i, j + 1).Value = 8
            End If
        Next j
    Next i
    '5. Включение монитора.
    Application.ScreenUpdating = True
    '6. Сообщение.
    MsgBox "Готово.", vbInformation
   
End Sub
[свернуть]

selen-1984